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

JAVA内部类

2015-10-29 16:38 239 查看
如果在一个类中再定义一个类,就将在类中再定义的那个类称为内部类,内部类分为成员内部类,局部内部类以及匿名内部类。

如果在外部类和非静态方法之外实例化内部类对象,需要使用 外部类.内部类 的形式指定该对象的类型

成员内部类
在类中如果内部类与外部类遇到成员变量重名的情况可以使用this关键字进行处理。 内部类中使用this.x语句可以调用内部类的成员变量x,而使用外部类名.this.x语句可以调用外部类的成员变量x。

局部内部类
局部内部类是指在类的方法中定义的内部类,它的作用范围也是在这个方法体内。但是该内部类可以访问 当前代码块的常量以及此外部类的所有成员。

匿名内部类
不一定要给内部类取一个名字,可以直接以对象名来代替。匿名内部类的所有实现代码都需要在大括号之间进行编写。由于匿名内部类没有名称,所以匿名内部类使用默认构造方法来生成 匿名内部类的对象。在匿名内部类定义结束后,需要加分号标识,这个分号并不代表定义内部类结束的标识,而代表创建匿名内部类的引用表达式的标识。

静态内部类
在内部类前添加修饰符static,这个内部类就变为静态内部类。一个静态内部类中可以声明static成员,但是在非静态内部类中不可以声明静态成员。静态内部类有一个最大的特点,就是不可以使用外部类的非静态成员,所以静态内部类在程序开发中比较少见。
创建静态内部类的对象,不需要其外部类的对象
不能从静态内部类的对象中访问非静态外部类的对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: