内部类是指在一个外部类的内部再定义一个类。

内部类:

(注:所有使用内部类的地方都可以不用内部类,使用内部类可以使程序更加的简洁,便于命名规范和划分层次结构)。

内部类是指在一个外部类的内部再定义一个类。

内部类作为外部类的一个成员,并且依附于外部类而存在的。

内部类可为静态,可用PROTECTEDPRIVATE修饰。(而外部类不可以:外部类只能使用PUBLICDEFAULT)。

 

内部类的分类:

成员内部类、

局部内部类、

静态内部类、

匿名内部类(图形是要用到,必须掌握)。

 

①  成员内部类:作为外部类的一个成员存在,与外部类的属性、方法并列。

内部类和外部类的实例变量可以共存。

在内部类中访问实例变量:this.属性

在内部类访问外部类的实例变量:外部类名.this.属性。

 

成员内部类的优点:

内部类作为外部类的成员,可以访问外部类的私有成员或属性。(即使将外部类声明为PRIVATE,但是对于处于其内部的内部类还是可见的。)

用内部类定义在外部类中不可访问的属性。这样就在外部类中实现了比外部类的private还要小的访问权限。

注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。

对于一个名为outer的外部类和其内部定义的名为inner的内部类。编译完成后出现outer.classouter$inner.class两类。

 

(编写一个程序检验:在一个TestOuter.java程序中验证内部类在编译完成之后,会出现几个class.

posted @ 2019-04-21 10:19  borter  阅读(905)  评论(0编辑  收藏  举报