抽象:不明确的,不具体的,模糊的。
抽象类的特点:
- 方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰。抽象方法必须位于抽象类中,该类也必须被abstract修饰。
- 抽象类不可以被实例化,因为即使实例化调用抽象方法也没有意义,抽象方法内没有东西。
- 抽象类必须被继承,被其子类覆盖了所有的抽象方法之后,该子类才可以被实例化,否则该子类还是抽象类。
细节:
- 抽象类有构造函数,可以用于给子类进行初始化。
- 抽象类可以不定义抽象方法,但是很少见,目的就是不让该类创建对象。AWT的适配器对象就是这种类。
- 抽象关键字不能和private关键字共存,因为子类对方法要进行覆盖,private将方法进行了隐藏;不能和static关键字共存,不能和final关键字共存。
- 相同点:抽象类和一般类都是描述事物的,都在内部定义了成员。
不同点:
①一般类有足够的信息描述事物。
抽象类描述事物的信息可能不足。
②一般类中不能定义抽象方法,只能定义非抽象方法。
抽象类可以定义抽象方法,也可以定义非抽象的方法。
③一般类可以被实例化。
抽象类不可以被实例化。
5.抽象类都是父类。