1、函数中内部类,编译class 内含有 外部类名称$1内部类名称.class
2、匿名内部类:
2、匿名内部类:
1、return new Contents(){private int i = 11;public int value() { return i; }} ; // 实现了Contents 接口或者Contents类的匿名对 象
2、生成字节码为 外部类名称$数字.class
3、return new Wrapping(x) { } ... 昵名内部类,靠传参传给父类。例左侧 x
4、内部类可以随心所欲使用外部变量。 能够访问外部所有元素。
5、public Destination dest(final String dest){ //必须是final ,内部类使用外部类的非成员变量必须是final.return new Destination(){private String label = dest;public String readLabel(){ return label ;}}}
6、昵名内部类初始化块。
return new Destination(){private int cost;{cost = Math.round(price);if(cost > 100){system.out.println("Over budget!");}} // 相当于匿名类的构造函数。private String label;public String readLabel)(){return label;}
}
7、inner classes 可以访问外部类所有成员的能力。
8、class Base {int i = 47;int f(Base this) { return this.g(); }int g(Base this) { return ((Base)this).i; } // private int g(){ return i;} 静态绑定//}
class Derived extends Base {int i = 27;int g(Drived this) { return i;}}