Junior
134
questionbank
Какие элементы языка Java отвечают за наследование?
Ответ от нейросети
sobes.tech AI
extendsключевое слово - используется для указания наследования класса от другого класса.implementsключевое слово - используется для указания реализации классом одного или нескольких интерфейсов (наследование поведения).superключевое слово - используется для обращения к членам родительского класса (полям, методам, конструкторам).abstractключевое слово - используется для создания абстрактных классов и методов, которые должны быть реализованы в подклассах.finalключевое слово - может использоваться для предотвращения переопределения методов (final method) или наследования класса (final class).- Интерфейсы (Interfaces) - определяют контракт методов, которые класс должен реализовать. Позволяют множественное наследование типов (но не реализации).
Пример использования extends:
// Родительский класс
class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
// Дочерний класс, наследующийся от Animal
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}
Пример использования implements:
// Интерфейс
interface Swimmable {
void swim();
}
// Класс, реализующий интерфейс
class Fish implements Swimmable {
@Override
public void swim() {
System.out.println("Fish is swimming");
}
}
Пример использования super:
class Parent {
int value = 10;
void display() {
System.out.println("Parent display");
}
}
class Child extends Parent {
int value = 20;
void display() {
super.display(); // Вызов метода родителя
System.out.println("Child display " + super.value); // Доступ к полю родителя
}
}
Пример использования abstract:
// Абстрактный класс
abstract class Shape {
// Абстрактный метод (без реализации)
abstract double getArea();
}
// Конкретный класс, наследующийся от Shape и реализующий абстрактный метод
class Circle extends Shape {
double radius;
@Override
double getArea() {
return Math.PI * radius * radius;
}
}
Пример использования final:
class Base {
// Метод, который нельзя переопределить
final void finalMethod() {
System.out.println("Final method");
}
}
// Класс, который не может быть унаследован
final class CannotExtend {
// ...
}