課程
/后端開發(fā)
/Java
/Java入門第二季 升級(jí)版
為什么把這句mi.show();刪了就運(yùn)行成功了呢?
2020-04-22
源自:Java入門第二季 升級(jí)版 7-8
正在回答
show是外部的方法,你定義的mi是內(nèi)部的對(duì)象,內(nèi)部的對(duì)象只能調(diào)用內(nèi)部方法,所以下面的mi.getScore就是調(diào)用getScore()方法,然后再給mi.getScor賦值給變量newScore
內(nèi)部類不可以調(diào)用外部類的方法。會(huì)報(bào)錯(cuò)的,用編譯器試試你就懂了
show是HelloWorld();的對(duì)象不是內(nèi)部類的對(duì)象。
你的MInner類里面根本沒有show()這個(gè)方法啊,你實(shí)例化的是MInner
個(gè)人認(rèn)知----說(shuō)錯(cuò)的話請(qǐng)諒解
public class HelloWorld {??? ??? private String name = "愛慕課";??? ??? // 外部類中的show方法??? public void show() { ??// 定義方法內(nèi)部類??class MInner {???int score = 83;???public int getScore() {????return score + 10;???}??}??????? ??// 創(chuàng)建方法內(nèi)部類的對(duì)象??????? MInner mi=new MInner();??????? mi.show();??????? int newScore=mi.getScore();??????? // 調(diào)用內(nèi)部類的方法???????? System.out.println("姓名:" + name + "\n加分后的成績(jī):" + newScore);?}??? ?// 測(cè)試方法內(nèi)部類?public static void main(String[] args) {??????? ??// 創(chuàng)建外部類的對(duì)象??????? HelloWorld mo=new HelloWorld();??????? ??????? // 調(diào)用外部類的方法??mo.show();?}}
mi是MInner類的對(duì)象? 怎么能調(diào)用外部類的方法呢 看不到你寫的源碼 貼一下
舉報(bào)
課程升級(jí)!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會(huì)Java面向?qū)ο缶幊痰膴W妙
4 回答為什么運(yùn)行不了呢
1 回答為什么編譯時(shí)是Cat類型,運(yùn)行時(shí)就變成了Dog類型呢?
3 回答為什么要把我的問(wèn)題刪除了?
2 回答為什么運(yùn)行不了?
3 回答為什么運(yùn)行不了
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2020-09-23
show是外部的方法,你定義的mi是內(nèi)部的對(duì)象,內(nèi)部的對(duì)象只能調(diào)用內(nèi)部方法,所以下面的mi.getScore就是調(diào)用getScore()方法,然后再給mi.getScor賦值給變量newScore
2020-05-29
內(nèi)部類不可以調(diào)用外部類的方法。會(huì)報(bào)錯(cuò)的,用編譯器試試你就懂了
2020-05-23
show是HelloWorld();的對(duì)象不是內(nèi)部類的對(duì)象。
2020-04-29
你的MInner類里面根本沒有show()這個(gè)方法啊,你實(shí)例化的是MInner
個(gè)人認(rèn)知----說(shuō)錯(cuò)的話請(qǐng)諒解
2020-04-22
public class HelloWorld {
???
??? private String name = "愛慕課";
???
??? // 外部類中的show方法
??? public void show() {
??// 定義方法內(nèi)部類
??class MInner {
???int score = 83;
???public int getScore() {
????return score + 10;
???}
??}
???????
??// 創(chuàng)建方法內(nèi)部類的對(duì)象
??????? MInner mi=new MInner();
??????? mi.show();
??????? int newScore=mi.getScore();
??????? // 調(diào)用內(nèi)部類的方法
?
??????? System.out.println("姓名:" + name + "\n加分后的成績(jī):" + newScore);
?}
???
?// 測(cè)試方法內(nèi)部類
?public static void main(String[] args) {
???????
??// 創(chuàng)建外部類的對(duì)象
??????? HelloWorld mo=new HelloWorld();
???????
??????? // 調(diào)用外部類的方法
??mo.show();
?}
}
2020-04-22
mi是MInner類的對(duì)象? 怎么能調(diào)用外部類的方法呢 看不到你寫的源碼 貼一下