Java 抽象类

2018-12-17  本文已影响0人  啦啦啦_9a5f

abstract:关键字,用于修饰方法和类

抽象方法:不同类的方法是相似的,但是具体内容有不太一样,就只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法。

抽象类:有抽象方法的类必须是抽象类

注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类

抽象类的特点:

抽象方法只能在抽象类里面

抽象类和抽象方法必须被abstract修饰

抽象类不能创建对象(不能实例化)

抽象类中可以有非抽象的方法

抽象类和类的关系也是继承

一个类继承了抽象类要么重写所有的抽象方法,要么他自己也是抽象类

抽象的成员特点:

成员变量

可以有成员变量

可以有成员常量

成员方法

可以有抽象方法和非抽象方法

构造方法-----给类中成员变量初始化

可以有构造方法的

final:修饰类(不能被继承)、成员变量(为常量不能被修改)、成员方法(不能被重写)

抽象关键字abstract不可以和哪些关键字共存?

final所修饰的类不能被继承,抽象类不能被实例化

抽象方法没有方法体,用final修饰不能被重写

抽象方法如果为私有,子类不能重写

抽象类中是否有构造函数?

抽象类中有构造函数,因为抽象类中有成员变量。需要构造函数去初始化成员变量。子类继承还需要调用父类的构造方法。

抽象类中可不可以没有抽象方法?

可以没有抽象方法,当有一个类不想被实例化的时候,可以用abstract去修饰这个类。另外让一个类没有办法实例化,可以用private去修饰构造方法。

抽象类还起到了规范子类方法的作用

上一篇下一篇

猜你喜欢

热点阅读