abstract:关键字,用于修饰方法和类
抽象方法:不同类的方法是相似的,但是具体内容有不太一样,就只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法。
抽象类:有抽象方法的类必须是抽象类
注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类
抽象类的特点:
抽象方法只能在抽象类里面
抽象类和抽象方法必须被abstract修饰
抽象类不能创建对象(不能实例化)
抽象类中可以有非抽象的方法
抽象类和类的关系也是继承
一个类继承了抽象类要么重写所有的抽象方法,要么他自己也是抽象类
抽象的成员特点:
成员变量
可以有成员变量
可以有成员常量
成员方法
可以有抽象方法和非抽象方法
构造方法-----给类中成员变量初始化
可以有构造方法的
final:修饰类(不能被继承)、成员变量(为常量不能被修改)、成员方法(不能被重写)
抽象关键字abstract不可以和哪些关键字共存?
final所修饰的类不能被继承,抽象类不能被实例化
抽象方法没有方法体,用final修饰不能被重写
抽象方法如果为私有,子类不能重写
抽象类中是否有构造函数?
抽象类中有构造函数,因为抽象类中有成员变量。需要构造函数去初始化成员变量。子类继承还需要调用父类的构造方法。
抽象类中可不可以没有抽象方法?
可以没有抽象方法,当有一个类不想被实例化的时候,可以用abstract去修饰这个类。另外让一个类没有办法实例化,可以用private去修饰构造方法。
抽象类还起到了规范子类方法的作用
网友评论