4种类型的内部类

来源:互联网 发布:pads9.5软件下载 编辑:程序博客网 时间:2024/06/05 19:26

1static inner classes (also called nested classes)

静态内部类(嵌套内部类)

内部类的最简单的形式

不能和外部包围类使用相同名称

编译成独立的类,外部类和内部类分开

只能访问外部类的静态成员或者方法,包括私有的

在外部类之外,创建静态内部类的实例语法:new outerclass.innerclass()

2member inner classes

成员内部类

<1>不使用static修饰符在包围类中定义

<2>象成员变量

<3>可以访问包围类的所有的成员

<4>在包围类中创建内部类的实例语法:new Innerclass();

<5>在包围类外创建内部类的语法  (new Outerclass()).new Innerclass();

内部类类型是:  外部类.内部类

<6>如果内部类和外部类有同名的变量和方法,直接访问是在操作内部类的

如果操作外部类的,方式是:Outerclass.this.member

3local inner classes

局部内部类(方法)

<1>在方法内定义,甚至就是方法内的代码块(内部类中最不常用的形式)

<2>象局部变量,但不能声明成public,protected,private,static

<3>只能访问final 的局部变量

4anonymous inner classes

匿名内部类

<1>就是局部内部类但没有名称

<2>没有Class关键字

<3>没有extendsimplements关键字

<4>隐式继承父类或者实现接口

原创粉丝点击