您的位置:首页 > 编程语言 > Java开发

Java基础------知识点整理(六)-----抽象

2016-03-28 11:56 309 查看
1.方法只有声明,没有具体实现时,该方法就是抽象方法,需要被abstract抽象画,只要含有抽象方法就是抽象类,所以也必须把类也用abstract修饰

格式:

abstract   void   f();
abstract  class Instrument{   coding .....}


2.抽象类不能被实例化,因为其抽象的方法没有意义

3.抽象类的子类必须覆盖所有的抽象方法后才能实例化,否则导出类仍然是抽象类

4.疑点

(1) 抽象类也有构造函数,用于给子类对象进行初始化(虽然不能自己创建对象)

(2)抽象类中可以不定义抽象方法,只有类名为抽象的,目的就是不让这个类创建对象(如ATW适配器的对象,这个类只有方法体,没有方法内容)

(3)abstract不能喝那些关键字共存

(i)private:因为private私有化后,其子类继承不来,这就导致其子类永远是抽象类了,不能实例化

(ii)static:static修饰的方法调用不需要创建对象,类调用就可以,但是抽象方法没有内容,不能被调用

(iii)final:final修饰的方法不能覆盖,final修饰的类不能被继承,而抽象类必须继承后才能被实例化

5.抽象类与一般类异同点

相同点:都是用来描述事物

不同点:

(1)一般类有足够信息描述,抽象类信息描述不足

(2)一般类可实例化,抽象类不能实例化

(3)一般类中不可以定义抽象方法,抽象类中既可定义抽象方法,也可以定非抽象方法

(4)抽象类一定为父类,因为子类继承并实现后才能使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: