Inheritance

Inheritance is a way to define a class by reusing the definition of another class.

Related concepts:  ClassMemberSubtyping

Closest Wikipedia entry:  Inheritance (object-oriented programming)

Misconceptions about Inheritance
16 documented Misconceptions

Check Yourself
Misconception
AbstractClassMustImplementAbstractMethod — Java
An abstract class must implement all abstract methods defined in its superclass
Misconception
AbstractClassNoImplementation — Java
An abstract class cannot contain implemented methods
Misconception
ConcreteClassMustOverride — Java
A concrete class needs to implement all abstract methods and override all concrete methods declared in its abstract superclasses
Misconception
ConcreteClassOnlyImplementClassAbstract — Java
A concrete class only needs to implement those abstract methods it inherits from abstract superclasses
Misconception
ConcreteClassOnlyImplementDirectAbstract — Java
A concrete class only needs to implement abstract methods declared in its direct supertypes
Misconception
ConcreteClassOnlyImplementInterfaceAbstract — Java
A concrete class only needs to implement those abstract methods it inherits from interfaces
Misconception
ImplicitInterfaceImplementation — Java
Java implicitly produces implementations of any methods a class inherits from the interfaces it implements
Misconception
InterfaceExtendClass — Java
An interface can extend a class
Misconception
NoMethodInheritance — Java
Subclasses inherit fields but not methods
Misconception
PrivateAccessibleInSubclass — Java
Private members of a superclass are accessible from a subclass
Misconception
StaticDispatch — Java
The method to be called is determined by the static type
Misconception
SubtypeCompatibleWithSupertype — Java
A variable of a subtype can reference an object of a supertype
Misconception
SuperAlwaysHasParentheses — Java
To call a method on a superclass, parentheses are needed after the keyword super
Misconception
SuperNotFirstStatement — Java
super() can be called anywhere in the constructor of a subclass
Misconception
SuperclassObjectAllocated — Java
When instantiating an object of a subclass, an object of a superclass is also allocated
Misconception
SupertypeIncompatibleWithSubtype — Java
A variable of a supertype cannot reference an object of a subtype