Java 抽象学习总结

本章目标

  • 掌握抽象的概念(难点)

如何理解抽象

抽象与具体相对,是对事物固定行为的概括化描述(只说明做什么,不说明怎么做)

抽象类与抽象方法

  • 抽象类与具体类相对,是 Java 中使用关键词 abstract 修饰的类(不能实例化对象)

  • 抽象方法是抽象类中使用关键字 abstract 修饰的方法(只有声明没有方法体)

abstract  public  class Car   {
abstract public void start ( );  
}

抽象类的特点

  • 抽象类不能实例化对象

  • 如果从抽象类继承一个类,就必须为抽象类中的所有抽象方法提供方法的定义,否则继承的类也会变成抽象类

  • 即使不包括任何 abstract 方法,亦可将一个类声明成抽象类

抽象类与具体类的区别

具体类如果继承抽象类则需要重写所有抽象类的抽象方法

抽象类

抽象类是对具体类的固定行为的概括化描述,即只有方法声明,没有方法体(具体实现),所以抽象类无法实例化对象

具体类

具体类(或普通类)要求所有方法包含方法声明和方法体,所以具体类可以实例化对象

抽象类的好处

抽象类中的抽象方法可以限制子类的功能(必须实现抽象方法),一般方法可以达到子类的代码复用(也可以重写方法)

// 抽象类
abstract public  class Car   {
   //抽象方法
   abstract public void start ( );
   
   public  void run() {
       System.out.println(“汽车行驶”);
    }  
}

// 具体类
public class SportsCar extends Car {
   //实现抽象方法
   public void start ( ) {
         System.out.println(“启动跑车”);
    }
}