Ответ
Java построена вокруг четырёх основных принципов объектно-ориентированного программирования (ООП), которые пронизывают всю её архитектуру:
- Инкапсуляция: Механизм сокрытия внутреннего состояния объекта и предоставления контролируемого доступа через публичные методы. Реализуется с помощью модификаторов доступа (
private,protected,public). - Наследование: Возможность создания нового класса на основе существующего, что позволяет переиспользовать код и выстраивать иерархии. Ключевое слово
extends. - Полиморфизм: Способность объектов с одинаковой спецификацией (интерфейсом или родительским классом) иметь различную реализацию. Достигается через переопределение методов (
@Override) и ссылки на интерфейсы. - Абстракция: Процесс выделения существенных характеристик объекта и игнорирования несущественных. Реализуется с помощью абстрактных классов (
abstract class) и интерфейсов (interface).
Пример, демонстрирующий все принципы:
// Абстракция и Инкапсуляция
abstract class Vehicle {
private String model; // Инкапсуляция: поле скрыто
public Vehicle(String model) { this.model = model; }
public String getModel() { return model; } // Контролируемый доступ
abstract void move(); // Абстракция: обязательный контракт
}
// Наследование
class Car extends Vehicle {
public Car(String model) { super(model); }
// Полиморфизм: конкретная реализация абстрактного метода
@Override
void move() {
System.out.println(getModel() + " едет по дороге.");
}
}
class Boat extends Vehicle {
public Boat(String model) { super(model); }
@Override
void move() {
System.out.println(getModel() + " плывёт по воде.");
}
}
// Использование полиморфизма
public class Main {
public static void main(String[] args) {
Vehicle myCar = new Car("Toyota");
Vehicle myBoat = new Boat("Yamaha");
myCar.move(); // Toyota едет по дороге.
myBoat.move(); // Yamaha плывёт по воде.
}
}
Почти вся стандартная библиотека Java построена на классах и объектах, что подтверждает её ООП-природу.