我這個(gè)為什么不對(duì),輸出語(yǔ)句放調(diào)用內(nèi)部類方法后面也不對(duì)。
//外部類
public class HelloWorld {
? ??
? ? private String name = "愛慕課";
? ??
? ? // 外部類中的show方法
? ? public void show() {?
// 定義方法內(nèi)部類
class MInner {
int score = 83;
public int getScore() {
int newScore;
newScore=score + 10;
return newScore;
System.out.println("姓名:" + HelloWorld.this.name + "\n加分后的成績(jī):" + newScore);
}
}
? ? ? ??
// 創(chuàng)建方法內(nèi)部類的對(duì)象
? ? ? ? MInner si=new MInner();
? ? ? ??
? ? ? ? // 調(diào)用內(nèi)部類的方法
si.getScore();
? ? ? ??
}
? ??
// 測(cè)試方法內(nèi)部類
public static void main(String[] args) {
? ? ? ??
// 創(chuàng)建外部類的對(duì)象
? ? ? ? HelloWorld mo=new HelloWorld();
? ? ? ??
? ? ? ? // 調(diào)用外部類的方法
mo.show();
}
}
2019-05-06
首先看到你的代碼我感覺你并不怎么注意代碼的位置,看著很亂,明明是方法內(nèi)部類你卻頂格寫,而不是放在方法下方靠右,讓我不解。輸出語(yǔ)句放在調(diào)用方法類內(nèi)部時(shí)你要先對(duì)其進(jìn)行變量的賦值才對(duì),不然電腦怎么知道newScore在哪里,他不可能調(diào)用方法內(nèi)部類的方法去解決的,因?yàn)闆]有訪問權(quán)限啊!改成下面這樣就可以了
int newScore = si.getScore();
System.out.println("姓名:" + Huida.this.name + "\n加分后的成績(jī):" + newScore);
? ? ? ??
2019-05-06
你都return了 后面都無效了...