shi*_*ome 31 java interface anonymous-class
interface TestA {
String toString();
}
public class Test {
public static void main(String[] args) {
System.out.println(new TestA() {
public String toString() {
return "test";
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
结果是什么?
A.测试
B. null
C.在运行时抛出异常.
D.由于第1行中的错误,
编译失败.E.由于第4行中的错误,
编译失败.F.由于第5行中的错误,编译失败.
这个问题的答案是什么?为什么?关于这个问题我还有一个问题.在第4行中,我们创建了A的对象.是否可以创建接口的对象?
jjn*_*guy 88
你在这里看到的是一个匿名的内部类:
给出以下界面:
interface Inter {
public String getString();
}
Run Code Online (Sandbox Code Playgroud)
您可以像这样创建类似于它的实例:
Inter instance = new Inter() {
@Override
public String getString() {
return "HI";
}
};
Run Code Online (Sandbox Code Playgroud)
现在,您有一个您定义的接口实例.但是,您应该注意到您实际执行的操作是定义了一个实现接口并同时实例化该类的类.