问题描述
|
我在这段简单的代码上遇到2个错误:
public class Test {
public static void main(String args[]) {
O o = new O() {
};
}
}
错误:
Test.java:3:找不到符号
符号:O级
地点:班级考试
O o =新的O(){
^
Test.java:3:找不到符号
符号:O级
地点:班级考试
O o =新的O(){
^
怎么了
解决方法
对于匿名内部类,您应该扩展现有的类(并使用Polymorphism覆盖方法)或现有的接口。
使用此规则,代码将失败,因为不存在现有的类(类型)O。
尝试定义类,并使用多态性覆盖父类中所需的方法。
, 正如评论所说,您必须在某个地方定义类。此代码应工作:
class O {}
public class Test {
public static void main(String args[]) {
O o = new O() {
};
}
}
, 尝试:
public class Test {
public static void main(String args[]) {
Test o = new Test () {
};
System.out.println(o.getClass().getName());
}
}
您将获得Test $ 1