 <p>Interface methods cannot have implementation before Java 8. Starting in Java 8 this is possible, but only with <a href="https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html" rel="nofollow">default methods</a> and static methods.</p> <blockquote> <p>In addition to default methods, you can define static methods in interfaces. (A static method is a method that is associated with the class in which it is defined rather than with any object. Every instance of the class shares its static methods.) </p> </blockquote> <p>You are probably looking for an <a href="https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html" rel="nofollow">abstract class</a> which lets you have both <code>abstract</code> methods (methods that must be implemented by non-abstract subclasses) and normal methods that can be given implementation in the <code>abstract</code> class itself (subclasses have the option to override them of course).</p> <p>But I'm not sure if you want to use an abstract class or interface. Going by the class names, <code>Faculty</code> would have <code>Person</code>s, but I don't see why one should extend/implement the other. They seem to be different things. You might want to reconsider your design and also read this: <a href="http://stackoverflow.com/questions/2586389/when-best-to-use-an-interface-in-java">When best to use an interface in java</a></p>