
一、局部内部类
内部类还是和外部类一样可以有五种成员:属性,方法,构造器,代码块,内部类
不能在main方法中直接new内部类,因为他的地位还是一个局部变量
- 1.可以使用外部类的所有属性和方法,包括私有的
- 2.内部类自身也可以有五大成员(属性,方法,构造器,代码块,内部类)
- 3.作用于自身所处的代码块或方法中
- 4外部类访问内部类时(包括属性和方法),需要先创建对象,进而访问;外部其他类可通过在外部类新建一个public方法,方法体里面创建对象,再在外部其他类调用方法使用
- 5.本质仍然是一个类
- 6.如果外部类和内部类的成员重名时,默认遵循就近原则,如果要跳出就近原则,访问外部的成员,则需使用
外部类名.this.成员名外部类名.this相当于一个对象 - 7.不能添加访问修饰符,但可以使用 final
二、匿名内部类(重点难点)
- 1.本质是类,同时还是一个对象
- 2.没有类名(表面上看不到,实际上 JVM机 会分配一个临时类名,用完即消失)