[英]How to access anonymous inner class in main method?
如何在main方法中訪問匿名內部類對象。 出現編譯時錯誤,提示“無法靜態引用非靜態方法”。 如果我將匿名內部類設置為靜態,則可以訪問我想訪問的ut,而無需使其變為靜態。
怎么做。 請幫忙。
abstract class AnonymousInnerClass21
{
abstract void m();
}
public class AnonymousInnerClass2
{
AnonymousInnerClass21 a=new AnonymousInnerClass21()
{
@Override
void m() {
System.out.println("Hello");
}
};
public static void main(String[] args)
{
a.m();
}
}
這是因為要訪問內部類(無論是普通類/命名類還是匿名類),必須創建定義了內部類的類的對象,您可以在下面嘗試
abstract class AnonymousInnerClass21
{
abstract void m();
}
public class AnonymousInnerClass2
{
AnonymousInnerClass21 a=new AnonymousInnerClass21()
{
@Override
void m() {
System.out.println("Hello");
}
};
public static void main(String[] args)
{
AnonymousInnerClass2 anonymousInnerClass2= new AnonymousInnerClass2 ();//create outer class object
anonymousInnerClass2.a.m(); // access inner class object through outer class object
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.