JAVA语法糖-内部类
一、内部类
1.1.内部类指的就是在一个类的内部再定义一个类。
1.2.内部类之所以也是语法糖,是因为它仅仅是一个编译时的概念,outer.java里面定义了一个内部类inner,一旦编译成功,就会生成两个完全不同的.class文件了,分别是outer.class和outer$inner.class。所以内部类的名字完全可以和它的外部类名字相同。
1.3.内部类分为四种:成员内部类、局部内部类、匿名内部类、静态内部类。
二、成员内部类
2.1. 成员内部类
2.1.1、成员内部类是依附其外部类而存在的,如果要产生一个成员内部类,比如有一个其外部类的实例
2.1.2、成员内部类中没有定义静态方法,不是例子不想写,而是成员内部类中不可以定义静态方法
2.1.3、成员内部类可以声明为private的,声明为private的成员内部类对外不可见,外部不能调用私有成员内部类的public方法
2.1.4、成员内部类可以声明为public的,声明为public的成员内部类对外可见,外部也可以调用共有成员内部类的public方法
2.1.5、成员内部类可以访问其外部类的私有属性,如果成员内部类的属性和其外部类的属性重名,则以成员内部类的属性值为准
2.2. 局部内部类
2.2.1、 局部内部类没有访问修饰符,另外局部内部类要访问外部的变量或者对象,该变量或对象的引用必须是用final修饰的
2.3. 匿名内部类
浙公网安备 33010602011771号