概念:
将类定义在类的内部(不能被外界直接实例化)
可以提高类的安全性
不能被实例化类型 :
1、抽象类
2、接口
3、被private修饰的构造方法
4、内部类
特点:
1、内部类可以直接访问外部类所有成员(变量和方法)
2、外部类要想访问内部类成员,必须创建内部类对象来实现
3、内部类编译后的class文件名不同于普通类
4、访问内部类成员非常麻烦,还会造成程序耦合性增强,降低可读性
内部类的分类:
1、成员内部类
外部类中定义一个成员内部类,这个内部类和成员方法是同级的
在外部获取内部类对象:
1.1、内部类非私有
格式:
外部类.内部类 变量名称=new 外部类对象().new 内部类对象();
1.2、内部类私有
内部类作为外部类的成员,那么是可以用private修饰,使用后无法在外界直接获取该对象,同时我们也无法通过相关类型接收,但是可以在外部类中提供相关的get,set方法来出处理
class Outter{
private Stringname="张三";