A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗磊 中级黑马   /  2012-8-15 19:30  /  1578 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问下,在匿名内部类中的方法中的掉用的方法要用到本类对象时如何处理,说明下,我用了this, 但却不行,然后我想用匿名对象,可这却是新创建一个对象啦,所以也不行,(我是在做一个监听器中掉用另一个类中方法时要传入本类对象·)求解?

4 个回复

倒序浏览
代码贴出来,要不怎么知道你要说的什么啊
回复 使用道具 举报
罗磊 来自手机 中级黑马 2012-8-15 19:42:28
藤椅
呵呵!解决啦,自己试了试,就是用  类名.this 谢谢楼上的
回复 使用道具 举报
本类.this.XX就行了
回复 使用道具 举报
其实你问的问题就是关于如何访问外部类的成员,下面这段代码也许会更好理解:
public class Outer {//外部类
        String str="外部类的变量";//定义并初始化String字符串str
        class Inner{//内部类
                String str="内部类的变量";//定义并初始化String字符串str
                public void display(){
                        System.out.println("打印外部类的变量 : "+Outer.this.str);//访问外部类的变量
                        System.out.println("打印内部类的变量 : "+this.str);//访问内部类的变量

                }
        }
        public static void main(String[] args){
                Outer out=new Outer();//建立外部类对象
                Outer.Inner inner=out.new Inner();//根据外部类对象建立内部类对象
                inner.display();//访问内部类的方法
        }
}
红色代码的部分可以看到访问外部类成员和访问内部类成员的区别。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马