(1)abstract 关键字放在 class 前,指明该类是抽象类;
(2)abstract 关键字放在方法的返回类型前,指明该方法是抽象方法,抽象方法没有方法体,并
以“;”结束;
(3)抽象方法和空方法是两个完全不同的概念:
public abstract void call();//抽象方法,没有{}方法体;
public void call(){} //空方法,有{}方法体,但没任何语句。()没有参数。
(4)包含抽象方法的类必须声明为抽象类。
如果一个类中有抽象方法,那它一定是抽象类。反之不成立,抽象类中不一定有抽象方法。(包
含 0 或多个抽象方法)
(5)抽象类不能被实例化;
一个抽象类可以有多个抽象方法,也可以没有抽象方法,但即便没有抽象方法,也不能被实例化;
(6)抽象类可以直接定义,可以通过继承一个抽象类,也可以通过实现一个接口来定义。
(7)abstract 和 final 不能同时修饰同一个类,因为 abstract 修饰的类只有被继承才有意义,而 final
修饰的类不能被继承。
(8)抽象类:“没有完全实现的类”。