Class
A class is a blueprint for objects and defines a type with fields and methods.
Related concepts: ObjectFieldMethodMemberTypePrototype
Closest Wikipedia entry: Class (computer programming)
Misconceptions about Class27 documented Misconceptions
Check YourselfAbstractClassMustImplementAbstractMethod
An abstract class must implement all abstract methods defined in its superclass
AbstractClassNoImplementation
An abstract class cannot contain implemented methods
AddMemberAtRuntime
Set of class members can change at runtime
AllClassesHaveDefaultConstructor
All classes automatically get a no-argument constructor
AnyClassException
Any class can be an exception class
ArrayListIsArray
ArrayLists are arrays
CallNotStaticallyChecked
A method invocation on a reference of a type that does not have that method won't compile
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
ImmutableRequiresFinalParameters
Immutable classes need final constructor/method parameters
ImplicitInterfaceImplementation
Java implicitly produces implementations of any methods a class inherits from the interfaces it implements
InterfaceExtendClass
An interface can extend a class
MethodAsField
Each object contains its own special fields for all of its methods
MethodsWithoutClass
Methods can be defined outside a class
MultipleSuperclasses
A class can have multiple superclasses
NestedObjectsImplyNestedClasses
If objects are part of a containment hierarchy, their classes are nested, too
NoFieldInheritance
An object contains only the fields declared in its class
NoMethodInheritance
Subclasses inherit fields but not methods
PrivateFieldsImplyImmutability
A class where all fields are private is immutable
ReferringToRecursiveStructureMakesRecursive
A class referring to a recursive data structure is (indirectly) part of that recursion as well
SuperclassObjectAllocated
When instantiating an object of a subclass, an object of a superclass is also allocated
UnqualifiedNamesMustDiffer
The unqualified names of different classes must be different
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