interface A
{
public void f();
public void g();
}
class B implements A
{
public void f()
{
System.out.println("B.f()");
}
}
public class Main
{
public static void main(String[] args)
{
B tmp = new B();
tmp.f();
System.out.println("B.f()");
}
}
我没有在B中实现接口A中的所有方法
它有一个错误
The type B must implement the inherited abstract method A.g()
但为什么它能得到输出
B.f()
B.f()
Eclipse 允许您运行带有编译时错误的代码 - 在向您发出警告并提供退出选项(您通常应该选择)之后。
如果您尝试致电tmp.g()
你会得到一个异常,表明编译时失败。
偶尔运行未完全编译的代码可能很有用 - 特别是如果编译时失败与您实际希望运行的代码无关,例如当单元测试时 - 但我会非常小心你如何使用这个功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)