Difference between Abstract Class and Interface
Difference between abstract class and interface ?
Abstract Class:-
1) Can have abstract and non-abstract method both.
2) One class can extend at most one class.
3) can declare non abstract method and also can define body for it.
Interface:-
1) can have only abstract method.
2) One class can implement multiple interfaces.
3) can't delare body to a method.
Please look below example for more understanding:-
package Basics; public abstract class Animal { int head; //no body (unimplemented function need to override in child class as a //compulsion abstract void setLegs(); //having body //may override or may not void setHead() { head=1; } } package Basics; // can have only methods and by default all are abstract need to be override //by implementing class, unlike abstract no method can havedefinition public interface Pet { void tellWhereAreYouFrom(String place); String tellYourWeight(String weight); } package Basics; // can extend one class but can implement multiple interface public class Dog extends Animal implements Pet{ //must override all abstract methods from Parent class @Override void setLegs() { System.out.println("i have four legs"); } //must override all methods from an interface @Override public void tellWhereAreYouFrom(String place) { System.out.println("My place is"+place); } @Override public String tellYourWeight(String weight) { return weight; } }
Comments
Post a Comment