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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵茹艳 中级黑马   /  2012-5-13 12:31  /  2713 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

匿名内部类的构造函数怎么写?这个老师上课没说明白。
当匿名内部类中的成员变量名和外部类的成员变量名相同时,想要在内部类中调用外部类的成员变量,要怎么调?这个成员变量不是静态的啊
求指教

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

3 个回复

倒序浏览
A:内部类可以直接访问外部类中的成员,包括私有成员。
                   B:而外部类要访问内部类中的成员必须要建立内部类的对象。
        (3)内部的存放位置
                A:成员位置
                        **可以被private,static成员修饰符修饰。
                        **被static修饰的内部类只能访问外部类中的静态成员。
                B:局部位置
                        **也可以直接访问外部类中的成员。
                        **同时可以访问所在局部中的局部变量,但必须是被final修饰的。
               
                Outer$Inner.class:$表示成员内部类。
                Outer$1Inner.class:$1表示它是一个局部内部类。
                        ***为什么会出现编号呢?因为局部内部类可以不写名字,所以带编号。

        (4)匿名内部类:没有名字的内部类。它是内部类的简化写法。
                A:前提:内部类可以继承或实现一个外部类或者接口。
                B:格式为:new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}
                C:简单理解:就是建立一个带内容的外部类或者接口的子类匿名对象。
回复 使用道具 举报
内部类的构造函数跟外部类一样
内部内要访问外部类成员,如果不同名那么外部类的变量加final
如果相同则要使用 外部类.this.变量名
回复 使用道具 举报
是的,加个this就可以了,多谢,还有个问题是我使用的是匿名内部类,这个时候重写构造函数的时候就不能像外部类那样写了,因为没有名字啊!直接写对大括号行吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马