Java学习个人备忘录之抽象类
抽象类 特点: 1. 方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中。该类必须也被abstract修饰 2. 抽象类不可以被实例化. 为什么? 因为调用抽象方法没意义。 3. 抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是抽象类。 abstract class 犬科 { abstract/*抽象*/ void show(); }//抽象方法所在的类也必须的抽象的. class 狗 extends 犬科 { void 吼叫() { System.out.println("汪汪"); } } class 狼 extends 犬科 { void 吼叫() { System.out.println("嗷嗷"); } } class AbstractDemo { public static void main(String[] args) { } } 细节理解: 1. 抽象类中有构造函数吗? 有,用于给子类对象进行初始化. 2. 抽象类可以不定义抽象方法吗? 可以,但是很少见,目的就是不让该类创建对象. AWT的适配器对象就是这种类. 通常这个类中的方法有方法体,但是却没有内容. abstract class Demo { void show1() {} void show2() {} } 3.