黑马程序员技术交流社区

标题: 关于this的问题 [打印本页]

作者: 罗亚东    时间: 2011-10-9 11:21
标题: 关于this的问题
class Outer
{
        int outer1=100;
        void test()
        {
                Inner in=new Inner(this);
                in.display();
        }
       
        public static void main(String[] args)
        {
                Outer outer=new Outer();
                outer.test();
        }
}
class Inner
        {
                Outer outer;
                public Inner(Outer outer)
                {
                        this.outer=outer;
                }
                void display()
                {
                        System.out.println("outer1="+outer.outer1);
                }
        }
Inner in=new Inner(this);中的this到底指的是什么?
作者: 林国锋    时间: 2011-10-9 11:27
本帖最后由 林国锋 于 2011-10-9 11:29 编辑

Outer对象,在一个类中可以使用this代表是本类对象

也可以写成
Inner in=new Inner(Outer.class);
还是
Inner in=new Inner(new Outer());
就忘记了,你试试,反正就是代表当前本类对象
作者: 刘洋    时间: 2011-10-9 11:32
this就是Outer outer=new Outer();中的outer
作者: 王家虎    时间: 2011-10-9 11:35
谁调用this所在的方法,this就表示的是谁。题中是 outer在调用this所在的方法test(),所以this就表示的是outer.
作者: 石宗银    时间: 2011-10-9 12:19
当前的本类,,当前的方法属于谁,谁就是this
作者: 成杰    时间: 2011-10-9 12:56
this,表示当前对象,就这段代码来说,指的是outer
作者: 罗亚东    时间: 2011-10-9 13:19
谢谢大家!




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