Java中的抽象类和具体类有什么区别?

以下是抽象类和具体类之间的显着差异。

抽象类

  • 抽象类可以包含也可以不包含抽象方法,即没有主体的方法(public void get();)

  • 但是,如果一个类至少具有一个抽象方法,则必须将该类声明为抽象。

  • 您不能实例化一个抽象类。

  • 抽象类可以包含抽象方法。

  • 您需要继承一个抽象类才能使用它。

  • 如果继承抽象类,则必须为其中的所有抽象方法提供实现。

示例

public abstract class AbstractExample {
   public abstract int add(int a, int b);
   public abstract int subtract();
   
   public void display(){
      System.out.println("Hello how are you");
   }
}

创建类

  • 您可以实例化一个具体的类。

  • 具体的类没有任何抽象方法。

  • 继承一个具体的类来使用它不是强制性的。

示例

public class ConcreteClassExample {
   public int add(int a, int b){
      int c = a + b;
      return c;
   }
   public int subtract(int a, int b){
      int c = a - b;
      return c;
   }
   public void display(){
      System.out.println("Hi welcome to Nhooo");
   }
   public static void main(String args[]){
      ConcreteClassExample obj = new ConcreteClassExample();
      System.out.println(obj.add(25, 347));
      System.out.println(obj.subtract(500, 456));
      
      obj.display();
   }
}

输出结果

372
44
Hi welcome to Nhooo