Skip to main content

Difference between Abstract Class and Interface


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

.

Popular posts from this blog

Bubble Sort in JAVA

What is bubble sort?

It is a sorting technique that is based on the comparison.Here we compare adjacent element, if the first element is larger than the second we swap each other. We do the same procedure again and again until array do not sort completely.

Example:-
5 1 4 2 8



51428here pass is nothing but iterating the loops equal to number of elements in the array but if it already sorted before then we can break the loop anddo existPASS1 case0 1 //check 0 and first element15428 case1 2 //check 1 and 2 element14528 case2 314258 case3 414258 swap istruePASS2 //first pass completed now do second pass case0 114258 case1 212458 case2 312458 case3 412458 swap istrue PASS3 // third pass case0 112458 case1 212458 case2 312458 case3 412458 swap isfalse since swap is false we break from the loop and do not go for fourth and fifth pass
Program:-

package sorting;publicclassBubbleSort{//function to print arraypublicstaticvoidprint(int[] arr){for(int i=0;i<=arr.length-1;i++) Syst…