码迷,mamicode.com
首页 > 其他好文 > 详细

内部类

时间:2017-10-09 20:53:23      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:属性   访问   创建   const   new   允许   类成员   通过   非静态方法   

1.将一个类定义在另一个类里面,里面的那个类称为内部类,与属性、方法等一样视作外部类的成员。内部类提供了更好的封装,不允许同包中的其他类访问该内部类。

 

2.内部类作为外部类的成员,同样可以被4个访问限定符修饰。如果外部类需要访问非静态内部类的成员,必须创建非静态内部类对象来访问。

 

3. 内部类成员可以直接访问外部类的数据。

 

4. 如果存在一个非静态内部类对象,则一定存在一个被它寄存的外部类对象,也就是说在拥有外部类对象之前是不可能创建内部类对象的。但外部类对象存在时,非静态内部类对象不一定存在。

 

5. 非静态内部类里不能有静态方法/静态属性/静态初始化块,也不能有嵌套类(static innerClass)。

 

6. 在外部类的非静态方法内,可以直接通过new创建内部类对象,而且可以省略OuterClassName。在外部类的非静态方法之外引用内部类的对象时,需要具体指明这个对象的类型OuterClassName.InnerClassName varName;而且创建时,需要由外部类对象调用内部类的构造器OuterInstance.new InnerConstructor()

 

7. 非静态内部类对象里对外部类对象的引用:OuterClassName.thisthis指非静态内部类对象本身。

 

8. 内部类自动拥有对其外部类所有成员的访问权,包括private

内部类

标签:属性   访问   创建   const   new   允许   类成员   通过   非静态方法   

原文地址:http://www.cnblogs.com/Eason-chen/p/7642556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!