黑马程序员技术交流社区

标题: 内部类访问局部变量和成员变量的问题? [打印本页]

作者: 黑马杨晨    时间: 2012-9-26 19:07
标题: 内部类访问局部变量和成员变量的问题?
本帖最后由 黑马杨晨 于 2012-9-26 19:33 编辑

正常思考红色代码块:System.out.println(name);   中的"name"应该是构造函数:Test(String name)中的name,为什么编译出错呢?
怎么才能访问到构造函数中的"name"呢?


interface Inter
{
        void method();
}

class Test
{
        private String name = null;
        Test(String name)
        {
                this.name = name;

                new Inter()
                {
                //        String name = "myName";
                        public void method()
                        {
                               System.out.println(name);
                        }
                };
        }
}

public class Test01
{
        public static void main(String[] args)
        {
        }
}




作者: 王玉岩    时间: 2012-9-26 19:38
Test(String name)
        {
                this.name = name;

                new Inter()
                {
                //        String name = "myName";
                        public void method()
                        {
                               System.out.println(name);//内部类成员访问外部类成员的时候可以用   外部.this.的形式进行访问
                                      //修改后的代码
                                     System.out.println(Test.this.name);   //哥们你看一下 现在这样是不是你想要的
                                      
                        }
                };
        }

作者: 王贵朝    时间: 2012-9-26 19:56
new Inter()我觉得这么写不对,Inter是interface不是内部类吧。。
作者: 黑马杨晨    时间: 2012-9-26 20:45
王玉岩 发表于 2012-9-26 19:38
Test(String name)
        {
                this.name = name;

Test.this.name:这个我知道,我是想访问Test(String name)中的name




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