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.
Misconceptions about Method49 documented Misconceptions
Check YourselfAddMemberAtRuntime
Set of class members can change at runtimeArrayHasLengthMethod
To get the length of an array, one needs to call its length methodBaseCaseNotNeeded
Recursive computations do not necessarily need a base caseBaseCaseSelfRecursive
The base case of a structural recursion consists of a recursive self-callCallNotStaticallyChecked
A method invocation on a reference of a type that does not have that method won't compileCallOnPrimitive
One can invoke a method on primitive valuesCallRequiresVariable
One needs a variable to invoke a methodCallWithoutFrame
A method invocation does not necessarily allocate a stack frameCallerFrameContainsCalleeFormal
Stack frame of caller includes variables for callee's formal parametersCannotChainMemberAccesses
Member accesses cannot be chained togetherCannotChainMemberToConstructor
Method calls or field accesses cannot be chained to a constructor invocationChainedMethodsNotCalledFromOutside
Chained methods are all called on the object at the beginning of the chainConcreteClassMustOverride
A concrete class needs to implement all methods declared in its abstract superclassesConcreteClassOnlyImplementClassAbstract
A concrete class only needs to implement those abstract methods it inherits from abstract superclassesConcreteClassOnlyImplementDirectAbstract
A concrete class only needs to implement abstract methods declared in its direct supertypesConcreteClassOnlyImplementInterfaceAbstract
A concrete class only needs to implement those abstract methods it inherits from interfacesDeferredReturn
A return statement in the middle of a method doesn't return immediatelyEqualsComparesReferences
o.equals(p) compares the references stored in the variables o and pImmutableRequiresFinalParameters
Immutable classes need final constructor/method parametersImplicitInterfaceImplementation
Java implicitly produces implementations of any methods a class inherits from the interfaces it implementsInterproceduralEdge
In an intra-procedural control-flow graph, method call nodes point to the called methodMethodAsField
Each object contains its own special fields for all of its methodsMethodWithoutReturnType
A method declaration does not need to include a return typeMethodsWithoutClass
Methods can be defined outside a classNoCallOnStringLiteral
One cannot invoke methods on String literalsNoInsideMethodCallInConstructor
It is foirbidden to call other methods on the same object while inside its constructorNoMethodInheritance
Subclasses inherit fields but not methodsNoStringToString
One cannot invoke toString() on a StringOutsideInMethodNesting
Nested method calls are invoked outside inParenthesesOnlyIfArgument
() are optional for method calls without argumentsPrivateAccessibleInSubclass
Private members of a superclass are accessible from a subclassRecursiveMethodImpliesRecursiveType
A class with a recursive method represents part of a recursive data structureRecursiveMethodNeedsIfElse
A recursive method needs to contain an if-else statementReturnCall
Return statements need () around the return valueRightToLeftChaining
Chained accesses are invoked from right to leftSetterIsStatic
Setter methods are staticStackTraceIsCallHistory
A stack trace is the sequence of previously called methodsStaticCallPolymorphic
A static method call is dispatched polymorphically at runtime based on the argument typesStaticDispatch
The method to be called is determined by the static typeStaticFrameInGlobals
Stack frame of static method calls lives in the global memory areaStringLengthField
One can know the length of a String object by accessing its length fieldThisChildInCallExpression
Instance method or constructor call nodes in expression trees have a child labeled "this"ThisExistsInStaticMethod
this is a local variable, also in static methodsToStringPrints
Invoking toString() prints somethingUseOfSelfTypeImpliesRecursiveType
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 typeVoidMethodNotRecursive
A method with void return type can't be recursiveVoidMethodReturnsValue
A method with void return type can return a value