抽象方法与抽象类
抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。
抽象类:抽象方法所在的类,必须是抽象类才行,在class之前写上abstract
抽象类不一定含有抽象方法
只要保证抽象方法所在的类是抽象类,即可
子类必须重写父类中的所有抽象方法,如果不,那么子类必须 也是一个抽象类
public abstract class Animal {
//这是一个抽象方法,代表吃东西,但具体吃什么不知道(大括号内容不确定)
public abstract void eat();
//这是普通的成员方法
public void normalMethod() {
}
}
如何使用抽象类和抽象方法
- 不能直接new抽象类对象
- 必须使用一个子类继承抽象类
- 子类必须覆盖重写(实现)抽象父类中的所有抽象方法。
覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号 - 创建子类对象使用
public class Cat extends Animal {
@override
public void eat() {
System.out.println("猫吃鱼")
}
}