Насколько я правильно понял материал по лекции интерфейсы, то интерфейсы содержат методы, которые затем реализуются в каком-либо классе. В существующем интерфейсе ( Person) я вижу не методы, а классы, а именно User, Loser, Coder, Proger. 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!"); } } Мне была бы понятна запись, если бы в интерфейсе Person было написано void doNothing() { System.out.println(""); } А после, как вариант, в отдельном файле для класса User class User implements Person { void live() { System.out.println("I usually just live."); } }