4 回答

TA貢獻1816條經(jīng)驗 獲得超4個贊
Person p = new Person();
p.setName("xx");
Person.Outer ou =p.new Outer();
ou.getMoney();
Person.Inner in = p.new Inner();
in.heart();
in.liver();
in.stomach();
你每次都new了個不同的Person,肯定找不到name啊

TA貢獻1798條經(jīng)驗 獲得超7個贊
把new Person().new Outer();改成p.new Outer();
每次new的話會被覆蓋掉.
把public String name;改成public static String name;也可以的.因為靜態(tài)變量不需要new 也可以拿到...

TA貢獻1854條經(jīng)驗 獲得超8個贊
public static void main(String[] args) {
Person p = new Person();
p.setName("xx");
// Person.Outer ou = new Person().new Outer();
Person.Outer ou = p.new Outer();
ou.getMoney();
// Person.Inner in = new Person().new Inner();
Person.Inner in = p.new Inner();
in.heart();
in.liver();
in.stomach();
}
添加回答
舉報