not implementing all of the methods of interface. is it possible?
The only way around this is to declare your class as abstract
and leave it to a subclass to implement the missing methods. But ultimately, someone in the chain has to implement it to meet the interface contract. If you truly do not need a particular method, you can implement it and then either return
or throw some variety of NotImplementedException
, whichever is more appropriate in your case.
The Interface could also specify some methods as 'default' and provide the corresponding method implementation within the Interface definition (https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html). These 'default' methods need not be mentioned while implementing the Interface.
The point of an interface is to guarantee that an object will outwardly behave as the interface specifies that it will
If you don't implement all methods of your interface, than you destroy the entire purpose of an interface.
We can override all the interface methods in abstract
parent class and in child class override those methods only which is required by that particular child class.
Interface
public interface MyInterface{ void method1(); void method2(); void method3();}
Abstract Parent class
public abstract class Parent implements MyInterface{@Overridepublic void method1(){}@Overridepublic void method2(){}@Overridepublic void method3(){}}
In your Child classes
public class Child1 extends Parent{ @Override public void method1(){ }}public class Child2 extends Parent{ @Override public void method2(){ }}