抽象类
1、语法定义:抽象类前使用abstract关键字修饰
2、应用场景
a、父类只知道其子类包含怎样的方法,并不知道其中方法具体怎样实现(约束子类必须有什么方法)
b、从具有相同特征的类中抽象出一个类,以这个抽象类作为子类的模板,从而避免了子类设计的随意
3、作用:限制规定子类必须有那些方法,不关注具体细节
4、使用规则:
a、abstract定义修饰抽象类
b、abstract定义抽象方法,只声明,不需要实现
c、包含抽象方法的类是抽象类
d、抽象类中可以包含普通的方法,也可以没有抽象方法。
e、抽象类不能直接创建,可以定义引用变量,指向子类对象
例:定义抽象类Phone(父类),其子类有CellPhone和SmartPhone。定义抽象类方法:Call和Message
测试类:
问题1、:在创建继承Phone抽象父类时方法那行出现错误,按F2找出问题并根据提示修改(将@Override删掉再重新打开即可)
--原因:编译器版本问题
问题2:在创建SmartPhone子类时不小心勾选了abstract,弄成了抽象类,所以在main函数(测试类)里边对SmartPhone实例化失败
--原因:不能对抽象类实例化
定义SmartPhone类时误加abstract修饰,将其删掉