Всем привет)
Вопрос такой, понял что не понимаю базовую тему по созданию объектов когда решал эту задачу
Вот эта строка:
Drink beer = new AlcoholicBeer();
System.out.println(beer.toString());
Не понимаю именно принцип как все работает
т.е. понимаю что мы обращаемся к интерфейсу Drink даем ему имя beer и после new мы почему то обращаемся к AlcoholicBeer()
Логически понимаю взаимосвязь, но оччч слабо.
Может кто нить дать ссылку где про это прочитатьpackage com.javarush.task.task13.task1302;
/*
Пиво-2. Возвращение
*/
public class Solution {
public static void main(String[] args) throws Exception {
Drink beer = new AlcoholicBeer();
System.out.println(beer.toString());
}
public interface Drink {
boolean isAlcoholic();
}
public static class AlcoholicBeer implements Drink {
@Override
public String toString() {
if (isAlcoholic()) {
return "Напиток алкогольный";
} else {
return "Напиток безалкогольный";
}
}
public boolean isAlcoholic(){
return true;
}
}
}