`

成员内部类

 
阅读更多

首先内部类是一个编译时概念,跟虚拟机无关,编译成功后就会形成两个class对象。如:外部类outer中的内部类inner,编译完成后出现outer.class和outer$inner.class

 

成员内部类写在外部类的方法之间,有两个主要特点:

1.外部类作用范围内可以任意创建内部类对象,即使是私有的

2.内部类可以范文外部类的所有域,即使是私有域

 

需要注意的是,成员内部类不能含有static的变量和方法。因为需要先创建了外部类,才能创建成员内部类

Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();

还有就是成员内部类要引用外部类对象时,使用Outer.this来表示外部类对象

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics