Java Inheritance
Оновлено: 22.05.2023
Успадкування в Java (підкласи та суперкласи)
У мові Java існує можливість успадковувати атрибути та методи від одного класу до іншого. Ми згрупували "концепцію успадкування" у дві категорії:
підклас (дочірній) - клас, що успадковується від іншого класу суперклас (батьківський) - клас, від якого успадковується клас
Щоб успадкувати клас, використовуйте ключове слово extends.
У наведеному нижче прикладі клас Car (підклас) успадковує атрибути та методи від класу Vehicle (суперкласу):
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);
}
}
Останнє ключове слово
Якщо ви не хочете, щоб інші класи успадковували клас, використовуйте ключове слово final:
Якщо ви спробуєте отримати доступ до кінцевого класу, Java видасть помилку:
final
final class Vehicle {
...
}
class Car extends Vehicle {
...
}
На виході вийде щось на кшталт цього:
Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
^
1 error)