interface Device
{
public void doIt();
}
public class Electronic implements Device
{
public void doIt()
{
}
}
abstract class Phone1 extends Electronic
{
}
abstract class Phone2 extends Electronic
{
public void doIt(int x)
{
}
}
class Phone3 extends Electronic implements Device
{
public void doStuff()
{
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我为什么这个编译..因为"Phone3"实现了Device,它应该有doIt()方法,但它没有.但这仍然是编译.我可以认识Y吗?
Phone3扩展Electronic,并Electronic具有doIt()实现Device接口的方法.因此,该doIt方法的实现仅从Electronic基类继承.
如果你让这个例子更加真实,那就更有意义了.更改Device到Ringable,一个ring方法.使用该方法的实现创建SimplePhone实现的基类.并创建一个被调用的子类.美丽的粉红色手机可以响,因为它只是一个粉红色的简单手机.RingableringSimplePhoneBeautifulPinkPhone
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |