1.抽象方法,就是在方法前边加个abstract
但是,会发现类名和方法都有错误,现在我们把类名改为抽象类
会发现类名不报错了,但是方法还是报错,现在我们把方法体去掉
总结:抽象类 中可以有抽象方法和非抽象方法,且抽象方法不能带有方法体。
但是 非抽象类中不能有抽象方法。
2.抽象方法的作用
(1)没有实现
(2)子类必须实现
子类Dog报错了,是因为子类中有父类中没有实现的方法(shout()方法),那么子类必须实现shout()这个方法
总结:如果方法前不加abstract,那么子类中继承父类的方法重写不重写都没关系,但是如果加上abstract,子类必须重写该方法,否则会报错。
3.抽象类的使用要点
(1)有抽象方法的类只能定义为抽象类
(2)抽象类不能实例化,即不能用new来实现实例化抽象类
(3)抽象类可以包含属性、方法、构造方法,但是构造方法不能用来new实例化,只能用来被子类调用。
(4)抽象类只能用来被继承
(5)抽象方法必须被子类实现
抽象类的意义:为子类提供统一的、规范的模板,子类必须实现相关的抽象方法。