В Java, ключевое слово 'extends' играет важную роль в наследовании. Оно используется для обозначения, что один класс наследуется от другого класса. В результате, подкласс (или дочерний класс) получает доступ к всем открытым и защищённым полям и методам суперкласса (или родительского класса).
Официальное определение в файле JSON гласит: "Для наследования свойств и методов от суперкласса". Это правильный ответ на вопрос: "Какова функция ключевого слова 'extends' в Java?".
public class Animal {
String color;
void eat() {
System.out.println("Eating...");
}
}
public class Cat extends Animal {
void meow() {
System.out.println("Meowing...");
}
}
public class TestCat {
public static void main(String args[]) {
Cat c = new Cat();
c.eat(); // вызывается метод из класса Animal
c.meow();
System.out.println(c.color); // доступ к полю из класса Animal
}
}
В этом примере класс Cat
наследует класс Animal
с помощью ключевого слова 'extends'. Значит, у экземпляра класса Cat
есть доступ к методу eat()
и полю color
из суперкласса Animal
.
Несмотря на то, что наследование является мощным инструментом, важно помнить про понятие инкапсуляции и следовать принципам SOLID для реализации чистого и легко поддерживаемого кода. В частности, принцип подстановки Барбары Лисков указывает, что объекты в программе должны быть заменяемыми на объекты их подтипов без изменения правильности выполнения программы. То есть, при использовании 'extends' всегда важно убедиться, что подкласс действительно "является" экземпляром суперкласса в рамках бизнес-логики приложения.