((Person.User) person).live();
Не понял эту конструкцию.
Person person = new User(); зачем тогда это, я думал так мы сразу создаем объект класса User. А оказалось так мы создали объект Person (судя по надобности вышеуказанной конструкции сужения до User'а), то нахрена new User() вместо обычного Person person = new Person() ?
Вопрос скорее всего тупой, но лучше спросить, чем делать не понимая😁
package com.javarush.task.task14.task1411;
public interface Person {
class User implements Person {
void live() {
System.out.println("I usually just live.");
}
}
class Loser implements Person {
void doNothing() {
System.out.println("I usually do nothing.");
}
}
class Coder implements Person {
void writeCode() {
System.out.println("I usually write code.");
}
}
class Proger implements Person {
void enjoy() {
System.out.println("It's a wonderful life!");
}
}
}