java抽象类子类必须实现抽象方法,或者也是抽象类么?


public abstract class TestAbs {

    protected List getList(){

        return  new ArrayList();
    }
}

public class test10 extends TestAbs {

    public static void main(String[] args) {
        System.out.println("11111111");
    }
}

子类没有是抽象类也没有继承抽象方法,运行输出111不报错 jdk1.8

你TestAbs里的getList也不是抽象方法啊,你没在getList前面写abstract,还加上函数体了吗

父类没有需要实现的抽象方法

语法上,抽象类的子类(非抽象类)必须实现父类的抽象方法;如果子类是抽象类,可以不实现父类的抽象方法。你这个父类虽然是抽象类,但是没有抽象方法。

如果抽象类中有抽象方法,子类的确需要重写抽象方法或者也为抽象类。抽象方法比较明显的特征是没有方法体,也没有大括号。