在Java中,如果一个类继承自抽象类,它必须实现抽象类中的所有抽象方法,否则编译器会报错。也就是说,父类中的抽象方法必须被子类重写,否则子类也必须声明为抽象类。 下面是一个未实现抽象方法的子类的示例: publicclassTriangleextendsShape{// 缺少对抽象方法draw()的实现} 1. 2. 3. 在这个例子中,Triangle类没...
答:抽象方法是必须被重写且父类中没有方法体,而普通方法不是必须被重写而且父类中有方法体;这样就造成一个问题:程序过大而不使用这种方法,父类中普通方法太多,子类都要记得去重写,但是java虚拟机又不会告诉你去重写,不重写子类就按照父类默认的方法体执行了;而抽象方法就不同了,子类不重写java虚拟机报错,这时候...
接口中普通方法不能有具体的方法实现,在 JDK 8 之后 static 和 default 方法必须有方法实现,如下代码所示: 从上述结果可以看出:static 或 default 方法如果没有方法实现就会报错,而普通方法如果有方法实现就会报错。 抽象类中普通方法可以有方法实现,抽象方法不能有方法实现,如下代码所示: 从上述结果可以看出:抽象类...