1.内部类是定义在另一个类中的类。
内部类在封装它的类中使用跟普通类一样。
在其他地方使用必须在new前面冠以外部类对象。
即:外部对象名.new 内部类(参数)
2.内部类可以访问外部类的所有成员,包括private属性。
3.在内部类中this.方法及字段
指向内部类;
外部类.this方法及字段
指向外部类
4.用static修饰内部类 则该内部类实际是一种外部类。
创建时可以用new 外部类.内部类()
局部类:在一个方法中定义的类
1.同局部变量,局部类不能用public,private,protected,static修饰,但可以被final或者abstract修饰。
2.可以访问其外部类的成员
3.不能访问该方法的局部变量,除非是final局部变量。
匿名类:特殊的内部类,没有类名,在定义类的同时就生成该对象的一个实例。(一次性使用)使用父类的构造方法
new 外部类或接口 (){........}