[英]How to create an anonymous class using a method that returns a reference to a class
我想使用返回類實例的方法創建一個匿名類
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");
}
};
}
}
我希望程序通過創建匿名類來工作,但它給了我一個語法錯誤。 接受任何解決方案或變通方法。 謝謝
您不能基於方法的返回值創建匿名類。 匿名類只能在創建對象時創建,這意味着它只能使用構造函數創建。
最好的辦法是直接創建FirstClass
,並覆蓋初始化程序,如下所示:
new FirstClass() {
{
System.out.println("This is from inside anon!");
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.