我想使用返回类实例的方法创建一个匿名类
class FirstClass {
public FirstClass() {
System.out.println("First class created");
}
}
class SecondClass {
public SecondClass() {
System.out.println("Second class created");
}
public FirstClass getFirstClass() {
return new FirstClass();
}
}
public class Ex1 {
public FirstClass getFirstClass() {
return new FirstClass();
}
public static void main(String[] args) {
//here is the problem
Object obj = new SecondClass().getFirstClass() {
{
System.out.println("Anonymous class created");
}
};
}
}
我希望程序可以通过创建匿名类来工作,但是它给了我一个语法错误。接受任何解决方案或解决方法。谢谢
答案 0 :(得分:0)
您不能基于方法的返回值创建匿名类。只能在对象创建后创建匿名类,这意味着只能使用构造函数来创建匿名类。
最好的选择是直接创建FirstClass
,然后覆盖初始化程序,如下所示:
new FirstClass() {
{
System.out.println("This is from inside anon!");
}
};