class Father {
int id;
class Son {
int id;
void changeId() {
id = 10;
}
}
}请问内部类Son里的changeId方法是给Father的id赋值?还是Son的id ?
如果是给Father的id赋值,那么如何在changeId方法中调用Son的id呢 ?
int id;
class Son {
int id;
void changeId() {
id = 10;
}
}
}请问内部类Son里的changeId方法是给Father的id赋值?还是Son的id ?
如果是给Father的id赋值,那么如何在changeId方法中调用Son的id呢 ?
int id = 1; class Son {
int id = 2; void changeId() {
id = 10;
System.out.println("Son's = " + id);
Father.this.id = 20;
System.out.println("Father's id = " + Father.this.id);
}
}
public void show(){
Son s = new Son();
s.changeId();
}
public static void main(String[] args){
Father f = new Father();
f.show();
}
}
int id;
void changeId() {
id = 10;
}
这个只是改变Son的idFather的id在Son类中要用这样的方法:Father.this.id
楼上正解
int id=2;
class Son {
int id=3;
void changeId() {
id = 10;
}
}
} class Father{ public static void main(String []args){
Fa fa = new Fa(); Fa.Son son = fa.new Son();
System.out.println(fa.id);//2
fa.id = 5;
System.out.println(fa.id);//5
System.out.println(son.id);//3
System.out.println("///////");
son.changeId();
System.out.println(fa.id);//5
System.out.println(son.id);//10 }
}
package csdn;import java.util.ArrayList;
import java.util.HashMap;public class Father {
int id=1;
class Son {
int id;
void changeId() {
this.id = 10; //这里引用是指s
Father.this.id = 20;/这里指的是f引用!
}
}
public static void main(String[] args) {
Father f = new Father();
Father.Son s = f.new Son();
s.changeId(); System.out.println(s.id);
System.out.println(f.id);
}
}
这个程序很明确的,