?????????????β??????final
?????ο??????http://android.blog.51cto.com/268543/384844
????????????????????????????????β?????????????????????????βα?????final?????????????????????β????????????????????????βα????final??
?????????????final???
???????????????????????????????????????class???????class???????????????class???????????????????????á???????????????????????????????java??????????????????????
????public class OuterClass {
????public void display(final String name??String age){
????class InnerClass{
????void display(){
????System.out.println(name);
????}
????}
????}
????}
??????????????п?????name????????????????????????????????java?????????????????£?
????public class OuterClass$InnerClass {
????public InnerClass(String name??String age){
????this.InnerClass$name = name;
????this.InnerClass$age = age;
????}
????public void display(){
????System.out.println(this.InnerClass$name + "----" + this.InnerClass$age );
????}
????}
????????????????????????????????????÷???????????????????????????????????????????б???????????????????????????????????????????????????????????
?????????????н????????final??????????е??????????????????????????????????????????????????????????????????????????仯??????????????????????????????????????βΣ???????????????????????????е????????????????????????????????????????????????????????????β????и????????????????????????????????????????????漲???final???????βε?????
??????????????????????????????????????????類(lèi)?????????????????????????????????£???????final????????ò?????
??????????????????????????????????????????????????????????????????????ò?????????final???
????????????????????
????????????????ù??????????????????????????????????????????????й??????????????????????????????????ù??????飡???ù???????????????????????????????????Ч????
public class OutClass {
public InnerClass getInnerClass(final int age??final String name){
return new InnerClass() {
int age_ ;
String name_;
//???????????????????
{
if(0 < age && age < 200){
age_ = age;
name_ = name;
}
}
public String getName() {
return name_;
}
public int getAge() {
return age_;
}
};
}
public static void main(String[] args) {
OutClass out = new OutClass();
InnerClass inner_1 = out.getInnerClass(201?? "chenssy");
System.out.println(inner_1.getName());
InnerClass inner_2 = out.getInnerClass(23?? "chenssy");
System.out.println(inner_2.getName());
}
}