??????????????
????(1)??????????????????????????????????????????????????????????????
????(2)???????????????????????????????????final?????????
?????????????????
public class Outer {
private int s = 100;
private int out_i = 1;
public void f(final int k) {
final int s = 200;
int i = 1;
final int j = 10;
// ????????????
class Inner {
int s = 300;// ?????????????????????
// static int m = 20;//????????徲?????
Inner(int k) {
inner_f(k);
}
int inner_i = 100;
void inner_f(int k) {
// ???????????????????????????????????п?????????????????????
System.out.println(out_i);
// ??????????????????(????????????)???????????????final??
System.out.println(j);
// System.out.println(i);
// ??????????????????????????????????????????????????????
System.out.println(s);
// ??this.??????????????????????
System.out.println(this.s);
// ????????.this.????????????????????????
System.out.println(Outer.this.s);
}
}
new Inner(k);
}
public static void main(String[] args) {
// ?????????????????????????
Outer out = new Outer();
out.f(3);
}
}
????????????(?????)??
??????????????????????????Χ?????????????????????????????????static???????????????nested class??????????static???????????????壬????????????????????????????????????????????????????Χ???????????????????static???????????????????????ζ???
????1. ?????????????????????????Χ??????
????2. ???????????????з??????????Χ?????
public class Outer {
private static int i = 1;
private int j = 10;
public static void outer_f1() {}
public void outer_f2() {}
// ?????????????public??protected??private????
// ?????????п?????徲????????????
private static class Inner {
static int inner_i = 100;
int inner_j = 200;
static void inner_f1() {
// ????????????????????????(???????????????????)
System.out.println("Outer.i" + i);
outer_f1();
}
void inner_f2() {
// ????????????????????????(?????????????????????)
// System.out.println("Outer.i"+j);
// outer_f2();
}
}
public void outer_f3() {
// ?????????????????????????.??????
System.out.println(Inner.inner_i);
Inner.inner_f1();
// ???????????????????:????????????
Inner inner = new Inner();
inner.inner_f2();
}
public static void main(String[] args) {
new Outer().outer_f3();
}
}
?????????????????????????????????????????????????????????????????????????????Outer.Inner in = new Outer.Inner();??????????????????????????ɡ????????????????????????????(????????£?????????????????κδ?????????????????????????????????static ?????????????????????????????????Υ?????????
?????????????
??????????????????????????????????????????????????????????????????????Щ???????????????????????????
???????????????????
?????????????????????
????????С??SUN???????4?д??????£?
???????????????????????????????????
???????????????????????????????????
????????????????й???????
???????????????????κξ???????????????
?????????????????public??protected??private??static??
????????????????????????????
???????????????????????new????棬??????????????????????????
???????????????????????????????????????????????????Ч??
???????????????????????????????????в????????????????????
public class Parcel7 {
public Wrapping wrap(int x) {
// Base constructor call:
return new Wrapping(x) { // Pass constructor argument.
public int value() {
return super.value() * 47;
}
}; // Semicolon required
}
public static void main(String[] args) {
Parcel7 p = new Parcel7();
Wrapping w = p.wrap(10);
}
}
????????????????????????????????????????????x ????new Wrapping(x)??????????????β?????????????????????????????C++????????????????????????????????????????????????????????????????????????????????????????μ??