interface Vehicle
{
public abstract void getVehicle();
}
public class HelloWorld implements Vehicle{
@Override
public void getVehicle()
{
System.out.println("HelloWorld Implementation");
}
}
class MyWorld extends HelloWorld implements Vehicle
{
@Override
public void getVehicle()
{
System.out.println("MyWorld Implementation");
}
}
Run Code Online (Sandbox Code Playgroud)
当两个类都在实现抽象方法时getVehicle(),这里实际发生了什么?子类是否重写超类getvehicle()或Inteface getVehicle()?
子类的实现将覆盖超类的实现.说子类会覆盖接口的方法是没有意义的,因为接口不提供实现(除非你在谈论Java 8默认接口方法).
顺便说一句,它足以声明超类实现接口.子类将隐式实现它,而不声明它实现它.
即使你写道:
public class HelloWorld implements Vehicle
Run Code Online (Sandbox Code Playgroud)
和
class MyWorld extends HelloWorld
Run Code Online (Sandbox Code Playgroud)
MyWorld仍然实施Vehicle.