In interface method is by default public abstract . when abstract class implements interface a method which are defined in interface we don’t need to implement.
This is because a class that is declared abstract can contain abstract method declarations. It is therefore the responsibility of the first concrete sub-class to implement any abstract methods inherited from any interfaces and or the abstract class.
interface Test {
void test();
}
abstract class Fruit implements Test{
//Does not need to declare or implement test()
public abstract void color();
}
/*Because Orange is concrete, it must define both test() and color()*/
class Orange extends Fruit{
public void color(){
System.out.println("Yellow color");
}
public void test(){
System.out.println("sour ");
}
}
public class Program1 {
public static void main(String[] args) {
Orange o1 = new Orange();
o1.color();//Yellow color
o1.test();// sour
}
}