黑马程序员技术交流社区

标题: 匿名内部类… [打印本页]

作者: 罗磊    时间: 2012-8-15 19:30
标题: 匿名内部类…
请问下,在匿名内部类中的方法中的掉用的方法要用到本类对象时如何处理,说明下,我用了this, 但却不行,然后我想用匿名对象,可这却是新创建一个对象啦,所以也不行,(我是在做一个监听器中掉用另一个类中方法时要传入本类对象·)求解?
作者: 黄敏    时间: 2012-8-15 19:37
代码贴出来,要不怎么知道你要说的什么啊
作者: 罗磊    时间: 2012-8-15 19:42
呵呵!解决啦,自己试了试,就是用  类名.this 谢谢楼上的
作者: 陈红建    时间: 2012-8-15 20:29
本类.this.XX就行了
作者: 周兴华    时间: 2012-8-15 21:20
其实你问的问题就是关于如何访问外部类的成员,下面这段代码也许会更好理解:
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();//访问内部类的方法
        }
}
红色代码的部分可以看到访问外部类成员和访问内部类成员的区别。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2