Prob is an entire class that does something, not just an interface. In OOP you can define an interface that a class implements. This is just a list of method names & arguments without implementation. When they talk about the Prob class interface though they're not talking about it as a code construct like described above. They're just talking about the list of methods that the class implements. Remember EVERY class has an interface, which is the list of methods it implements. Writing an interface explicitly in java is just a way of forcing the same interface on multiple classes.