Objective : compare abstract class with interface
  • Common: may have mix of methods, can't create an instance of abstract class and interface. 
  • Interface : Java does not support multiple inheritance of classes. A class in java allows  implement multiple  interfaces.
  • Extend: A class in java can extend one super class at a time
  • Interface resembles a virtual class of C++
  • An abstract class may have static fields and static methods

 

 
Abstract class and interface can't be instantiated.

using abstract class

Complete Code:

/**
*
*/
import java.io.*;
import javax.swing.JOptionPane;
import java.net.URI;
/**
* @author Manas9
*
*/
public class ClassTemplate1 {
/**
*
*/
public ClassTemplate1() {
// TODO Auto-generated constructor stub

}
public static void main(String[] args)
throws Exception {
// TODO Auto-generated method stub
//myClass mls = new myClass();
// can't instantiate abstract class
try {
A a1 = new A();
B b1 = new B();
a1.rememberMe();b1.rememberMe();
a1.companion_method();
//
} catch (NumberFormatException exc) {
//
}
}

}// end of class template

abstract class myClass {
//abstract method must be empty
abstract void rememberMe();
// default method
void companion_method()
{
System.out.println("This is a regular method");
}
}
class A extends myClass{
void rememberMe(){ //subclass must define it
System.out.println("must have in the subclass");}
}
class B extends myClass{
void rememberMe()
{ System.out.println("must have in the subclass");}
//myClass m1 = new myClass(); // not allowed
//
}

Runtime view