Java中匿名内部类内部访问外部类实例

发布于 2024-11-18 13:08:26 字数 677 浏览 8 评论 0原文

可能的重复:
来自匿名内部类的外部类的关键字?< /a>

我需要访问匿名内部类中外部类的实例并执行类似的操作。谁能澄清这是否正确?

public class ClassA{

ClassA refernceOfClassA = this;  

    public void m(){
       //Do something
    }
    Runnable target = new Runnable(){
       public void run(){
           //Code goes here using the refernceOfClassA
           refernceOfClassA.m();      
       }
    };
}

Possible Duplicate:
keyword for the outer class from an anonymous inner class?

I need to access the instance of the outer class within the anonymous inner class and did something like this. Can anyone clarify whether this is correct or not?

public class ClassA{

ClassA refernceOfClassA = this;  

    public void m(){
       //Do something
    }
    Runnable target = new Runnable(){
       public void run(){
           //Code goes here using the refernceOfClassA
           refernceOfClassA.m();      
       }
    };
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

糖粟与秋泊 2024-11-25 13:08:26

您应该能够从内部类调用方法m()

public class ClassA{    
    public void m(){
       //Do something
    }
    Runnable target = new Runnable(){
       public void run(){
           //Code goes here using the refernceOfClassA
           m();      
       }
    };
}

You should be able to just call the method m() from the inner class.

public class ClassA{    
    public void m(){
       //Do something
    }
    Runnable target = new Runnable(){
       public void run(){
           //Code goes here using the refernceOfClassA
           m();      
       }
    };
}
安穩 2024-11-25 13:08:26

我不相信你甚至需要referenceOfClassA。您只需访问外部类的属性并正常调用其方法即可。

I do not believe you even need the referenceOfClassA. You can just access properties on the outer class and call its methods normally.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文