抽象类:如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
关键字:abstract
在java中一个类如果被abstract修饰则成为抽象类
在抽象类中被abstract修饰的方法成为抽象方法
①抽象类使用abstract修饰类,并且抽象类不能够实例化
解决:
若想要使用,只能通创建抽象类的子类,然后让子类重写重写抽象类中的抽象方法
②在抽象类中可以有抽象方法和普通方法
A、抽象类中包含普通成员方法,
一个抽象类可以不包含抽象方法,但是普通类只能包含非抽象方法
B、抽象类中包含普通成员方法和抽象方法
注意:
1.当一个类中有抽象方法,这个类必须是抽象类
错误:
解决:
2.被abstract修饰的方法,没有方法体,即可以不写具体的实现
错误:
解决:
③抽象方法不能被private、final、static修饰
原因:抽象类存在的最大意义就是被继承,继承这个抽象类实现重写,而被private、final、static修饰的方法不能被重写
④抽象类存在的最大意义就是被继承,所以抽象类必须被继承。继承后子类必须重写父类中的抽象方法。
若子类继承抽象类不重写父类的抽象方法,那么这个子类也是抽象类,必须使用abstract修饰
⑤抽象类中可以有构造方法,此时子类也有相应的构造方法