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(“启动跑车”); } }