Приведение объекта к ссылке на интерфейс возможно, когда этот объект реализует нужный интерфейс. Это основной принцип объектно-ориентированного программирования, который использует полиморфизм и правила наследования.
Когда класс реализует интерфейс, он предоставляет конкретные реализации для всех методов, определённых в этом интерфейсе. Это обязательство по контракту позволяет объекту безопасно ссылаться через тип интерфейса.
interface Animal {
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("Woof!");
}
}
// Приведение к ссылке на интерфейс
Animal myPet = new Dog();
myPet.makeSound();
Такое приведение разрешено, потому что класс-реализация уже предоставил все необходимые реализации методов. Интерфейс выступает как контракт, гарантирующий, что у объекта есть требуемая функциональность. Это позволяет тебе работать с объектами через их тип интерфейса, а не через конкретную реализацию, что способствует слабой связанности и гибкости кода.
Объект можно присвоить переменной типа интерфейса без явного преобразования типа, если класс объекта реализует этот интерфейс.
Новый — ещё не проверен сообществом
Вы