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.

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
 abstract void setLegs();
 //having body
 //may override or may not
 void setHead()

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
 void setLegs() {
  System.out.println("i have four legs");

 //must override all methods from an interface
 public void tellWhereAreYouFrom(String place) {
  System.out.println("My place is"+place);

 public String tellYourWeight(String weight) {
  return weight;




Popular posts from this blog

Solved: The index 1 is out of range.

This error usually comes when we try to insert data in a query where there is no index defined for it. Example :- String strQuery=“select * from location where city_id=? ”; The question mark will be the the first index if we want to insert data so if we call a function like- oPreparedStatement = oConnection.prepareStatement(strQuery); oPreparedStatement.setString(1,235); here we are sending 235 as a first parameter so it will work fine but as soon as we write something after it like oPreparedStatement.setString(2,”kanpur”) then it will throw “The index 2 is out of range” since there is no place to send this value in a query hence it will throw the same error. Here index defines the parameter for which there is no place in the query. To rectify this we need to write query like- String strQuery=“select * from location where city_id=? And city_name=? ”; then it will work fine. The cases in which these errors can occur is- 1)Query is co

Heap implementation in JAVA

In this tutorial we will see all the functionalities of heaps implemented through java language. package com . problems . heap ; public class HeapFunctions { //Function to generate maxheapify where root is max than childs public void maxHeapify ( int Arr [], int i , int N ) { int largest ; int left = 2 * i + 1 ; //left child int right = 2 * i + 2 ; //right child System . out . println ( "left" + " " + left ); System . out . println ( "right" + " " + right ); System . out . println ( "Max size" + " " + N ); if ( left < N && Arr [ left ] > Arr [ i ] ) { largest = left ; System . out . println ( "largest left" + largest ); } else { largest = i ; System . out . println ( "largest i" + largest ); } if ( rig