您的位置:首页 > 编程语言 > Java开发

Java内部类访问规则

2014-08-16 14:24 246 查看
内部类定义原则:
 
当描述事物的时候,事物的内部还有事物,该事物用内部类来描述。
 
因为内部类事物在使用外部事物的内容。
 
内部类访问规则
 
1

 
内部类可以直接访问外部类,包括私有
(private)

 
之所有可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,
 
写法为:外部类名
.this.
外部成员名。
 
2

 
外部类访问内部类,必须建立内部类对象。
 
 
 

访问格式:
 
1
、当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内
部类对象。
 
格式为:外部类名
.
内部类名变量名
 

外部对象
.
内部对象;
 
 
 
Outer.Inner in = new Outer().new Inner(); 
 
静态内部类:
 
2
、当内部类在成员位置上,就可以被成员修饰符所修饰,比如
private
:将内部类在外部类
中封装。
 
3

 
Static
:内部类就具备了静态的特性。称为静态内部类。
 
当内部类被静态修饰后,只能访问外部类中的静态成员,出现了访问局限。
 
4

 
在外部其他类中,如何直接访问
static
内部类的非静态成员呢?
 
格式为:
外部类名
.
内部类名
 
oi = new 
外部类名
.
内部类名
().function(); //
外部类访问内部
类的函数。
 
5

 
在外部其他类中,如何直接访问
static
内部类静态成员呢?
 
格式为:外部类名
.
内部类名
.function(); 
 
注意:当内部类中定义了静态成员,该内部类必须是
static. 
 
 
当外部类中的静态方法访问内部类时,内部也必须是
static. 
 
内部类定义在局部(内部类在方法中)
 
在方法中的类,为局部内部类,
不可以被
static
修饰
,主要是
static
修饰的是成员(成员方
法、成员属性)
。局部成员,不可被
static
修饰。
 
可以直接访问外部类中的变量。
外部类中的引用?
 

内部类访问自己所在局部属性变量,这
个局部变量必须为
final

要不然不能访问。
 
匿名内部类
 
匿名内部类也就是没有名字的内部类。
 
是对内部类的简化。
 
内部类必须继承一个类或接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: