Method

A method is a function that is a member of a class and may operate on an object.

Related concepts:  FunctionMemberClassObject

Closest Wikipedia entry:  Method (computer programming) — A method in object-oriented programming (OOP) is a procedure associated with an object, and generally also a message. An object consists of state data and behavior; these compose an interface, which specifies how the object may be used. A method is a behavior of an object parametrized by a user.

Authoritative Definition

Wikipedia does not necessarily offer the best fitting definition of a concept. The exact meaning we attribute to the concept of Method is based on principled authoritative sources such as:

Misconceptions about Method
49 documented Misconceptions

Check Yourself
Misconception
AddMemberAtRuntime
Set of class members can change at runtime
Misconception
ArrayHasLengthMethod
To get the length of an array, one needs to call its length method
Misconception
BaseCaseNotNeeded
Recursive computations do not necessarily need a base case
Misconception
BaseCaseSelfRecursive
The base case of a structural recursion consists of a recursive self-call
Misconception
CallNotStaticallyChecked
A method invocation on a reference of a type that does not have that method won't compile
Misconception
CallOnPrimitive
One can invoke a method on primitive values
Misconception
CallRequiresVariable
One needs a variable to invoke a method
Misconception
CallWithoutFrame
A method invocation does not necessarily allocate a stack frame
Misconception
CallerFrameContainsCalleeFormal
Stack frame of caller includes variables for callee's formal parameters
Misconception
CannotChainMemberAccesses
Member accesses cannot be chained together
Misconception
CannotChainMemberToConstructor
Method calls or field accesses cannot be chained to a constructor invocation
Misconception
ChainedMethodsNotCalledFromOutside
Chained methods are all called on the object at the beginning of the chain
Misconception
ConcreteClassMustOverride
A concrete class needs to implement all methods declared in its abstract superclasses
Misconception
ConcreteClassOnlyImplementClassAbstract
A concrete class only needs to implement those abstract methods it inherits from abstract superclasses
Misconception
ConcreteClassOnlyImplementDirectAbstract
A concrete class only needs to implement abstract methods declared in its direct supertypes
Misconception
ConcreteClassOnlyImplementInterfaceAbstract
A concrete class only needs to implement those abstract methods it inherits from interfaces
Misconception
DeferredReturn
A return statement in the middle of a method doesn't return immediately
Misconception
EqualsComparesReferences
o.equals(p) compares the references stored in the variables o and p
Misconception
ImmutableRequiresFinalParameters
Immutable classes need final constructor/method parameters
Misconception
ImplicitInterfaceImplementation
Java implicitly produces implementations of any methods a class inherits from the interfaces it implements
Misconception
InterproceduralEdge
In an intra-procedural control-flow graph, method call nodes point to the called method
Misconception
MethodAsField
Each object contains its own special fields for all of its methods
Misconception
MethodWithoutReturnType
A method declaration does not need to include a return type
Misconception
MethodsWithoutClass
Methods can be defined outside a class
Misconception
NoCallOnStringLiteral
One cannot invoke methods on String literals
Misconception
NoInsideMethodCallInConstructor
It is foirbidden to call other methods on the same object while inside its constructor
Misconception
NoMethodInheritance
Subclasses inherit fields but not methods
Misconception
NoStringToString
One cannot invoke toString() on a String
Misconception
OutsideInMethodNesting
Nested method calls are invoked outside in
Misconception
ParenthesesOnlyIfArgument
() are optional for method calls without arguments
Misconception
PrivateAccessibleInSubclass
Private members of a superclass are accessible from a subclass
Misconception
RecursiveMethodImpliesRecursiveType
A class with a recursive method represents part of a recursive data structure
Misconception
RecursiveMethodNeedsIfElse
A recursive method needs to contain an if-else statement
Misconception
ReturnCall
Return statements need () around the return value
Misconception
RightToLeftChaining
Chained accesses are invoked from right to left
Misconception
SetterIsStatic
Setter methods are static
Misconception
StackTraceIsCallHistory
A stack trace is the sequence of previously called methods
Misconception
StaticCallPolymorphic
A static method call is dispatched polymorphically at runtime based on the argument types
Misconception
StaticDispatch
The method to be called is determined by the static type
Misconception
StaticFrameInGlobals
Stack frame of static method calls lives in the global memory area
Misconception
StringLengthField
One can know the length of a String object by accessing its length field
Misconception
ThisChildInCallExpression
Instance method or constructor call nodes in expression trees have a child labeled "this"
Misconception
ThisExistsInStaticMethod
this is a local variable, also in static methods
Misconception
ToStringPrints
Invoking toString() prints something
Misconception
UseOfSelfTypeImpliesRecursiveType
If a class has a method that has a local variable, parameter, or return value with the class as its type, the class is a recursive type
Misconception
VoidMethodNotRecursive
A method with void return type can't be recursive
Misconception
VoidMethodReturnsValue
A method with void return type can return a value

Stay up-to-date

Follow us on  twitter to hear about new misconceptions.