在主要方法中的以下程序中实现了一个匿名类,该类实现了接口 TestInt被实例化和打印。Java override怀疑
在打印任何对象时,调用其类的toString方法。但是类Foo也扩展了Object,它有一个公共的String toString()方法,testInt接口也是如此。那么我们主要覆盖哪个函数呢?来自Object的还是来自TestInt的?
interface TestInt{ String toString(); }
public class Foo {
public static void main(String[] args) {
System.out.println(new TestInt() {
public String toString() { return "foo"; }
});
}
}
上面的程序编译并运行良好并生成“foo”作为输出。
恩你是不是试图在这里实例化一个接口?这段代码实际上工作吗? – 2011-04-04 17:57:32
@Richard它正在实例化一个实现TestInt的匿名内部类。 – 2011-04-04 17:58:39
@Richard:我不是一个Java人,但我相信上面的代码是有效的:他正在实例化一个实现TestInt的* anonymous *类。 – rsenna 2011-04-04 17:59:55