подскажите, почему в интерфейсе создаются классы. когда это выгодно? по сути методов у интерфейса нету, все методы у вложенных классов, тогда зачем вложенным классам имплементировать интерфейс - родитель? (правильно ли говорить родитель в этом случае) вот код интерфейса
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!");
        }
    }
}