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