抽象类应当被普通类继承且实现其抽象方法,抽象类可以继承抽象类而不实现其方法。所以答案选C
但eclipse确实可以执行啊?
并且书中答案也是A
看情况:
如果子类是非抽象类,则必须实现接口中的所有方法,
如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在。
这个代码javac命令是无法编译通过的,会提示:Mine不是抽象的, 并且未覆盖MineBase中的抽象方法amethod()。所以答案选择C。
不管是否可执行,尽量遵守一般面向对象的规则,就是:普通子类(非抽象类)继承抽象类,一定要实现抽象类中的抽象方法。
你用java和javac命令试试呢。很久没搞过java了。是不是有编译参数能影响编译结果,或者是java不同版本有不同的编译结果?
– 会长 2年前@会长: 命令行的方式报错不能执行,不过eclipse也报错但是却可以正常执行(命令行是java17eclipse是java1.8)
– [hello,world] 2年前