Flash cards
Review the key moves
What is the main idea behind Java Inheritance?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ Vehicle {Put the learning moves in the order that makes the concept easiest to apply.
Java Inheritance (Subclass and Superclass)
In Java, it is possible to inherit attributes and methods from one class to another. We group the "inheritance concept" into two categories:
- subclass (child) - the class that inherits from another class
- superclass (parent) - the class being inherited from
To inherit from a class, use the extends keyword.
In the example below, the Car class (subclass) inherits the attributes and methods from the Vehicle class (superclass):
Example
class Vehicle {
protected String brand = "Ford"; // Vehicle attribute
public void honk() { // Vehicle method
System.out.println("Tuut, tuut!");
}
}
class Car extends Vehicle {
private String modelName = "Mustang"; // Car attribute
public static void main(String[] args) {
// Create a myCar object Car myCar = new Car(); // Call the honk() method (from the Vehicle class) on the myCar object myCar.honk(); // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class System.out.println(myCar.brand + " " + myCar.modelName);
}
}Did you notice the protected modifier in Vehicle?
We set the brand attribute in Vehicle to a protected access modifier . If it was set to private , the Car class would not be able to access it.
- It is useful for code reusability: reuse attributes and methods of an existing class when you create a new class.
Tip
Also take a look at the next chapter, Polymorphism , which uses inherited methods to perform different tasks.
The final Keyword
If you don't want other classes to inherit from a class, use the final keyword:
final