亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java封裝賦值內部類

java封裝賦值內部類

九州編程 2019-04-08 04:04:55
public class Person {private String name ;public void setName(String name) {this.name = name;}public String getName() {return name;}public class Outer{public void getMoney(){System.out.println(Person.this.getName()+"賺錢");}}class Inner{public void heart(){System.out.println(Person.this.getName()+"心臟良好");}public void liver(){System.out.println(Person.this.getName()+"肝臟不好請求治療");}public void stomach(){System.out.println(Person.this.getName()+"胃良好");}}}public class Run {public static void main(String[] args) {Person p = new Person();p.setName("xx");Person.Outer ou = new Person().new Outer();ou.getMoney();Person.Inner in = new Person().new Inner();in.heart();in.liver();in.stomach();}}
查看完整描述

4 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超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啊

查看完整回答
反對 回復 2019-04-09
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

把new Person().new Outer();改成p.new Outer();

每次new的話會被覆蓋掉.
把public String name;改成public static String name;也可以的.因為靜態變量不需要new 也可以拿到...

查看完整回答
反對 回復 2019-04-09
?
嗶嗶one

TA貢獻1854條經驗 獲得超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();

}



查看完整回答
反對 回復 2019-04-09
  • 4 回答
  • 0 關注
  • 1348 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號