抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。

抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可

public abstract class Person {
    //这是一个抽象方法,代表吃东西,具体吃什么不确定(大括号的内容)
    public abstract void eat();
    //这是普通的成员方法
    public void normalMethod() {

    }
}

如何使用抽象类和抽象方法:

1.不能直接创建new抽象类对象,只能创建其非抽象子类的对象。

2.必须用一个子类来继承抽象父类。

3.子类必须覆盖重写抽象父类当中的所有抽象方法。

4.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。

5.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。//没有抽象方法的抽象类,也不能直接创建对象,在一些特殊场景下有用途。

覆盖重写的实现:子类去掉抽象方法的abstract关键字,然后补上大括号。