//外部類
public?class?HelloWorld?{
????
????private?String?name?=?"愛慕課";
????
????//?外部類中的show方法
????public?void?show()?{?
//?定義方法內部類
class?MInner?{
int?score?=?83;
public?int?getScore()?{
return?score?+?10;
}
}
????????
//?創建方法內部類的對象
????????MInner?mi?=?new?MInner();
????????
????????//?調用內部類的方法
???????int?newScore?=?mi.getScore();
System.out.println("姓名:"?+?name?+?"\n加分后的成績:"?+?newScore);
}
????
//?測試方法內部類
public?static?void?main(String[]?args)?{
????????
//?創建外部類的對象
????????HelloWorld?hello?=?new?HelloWorld();
????????
????????//?調用外部類的方法
hello.show();
}
}//?創建方法內部類的對象
????????MInner?mi?=?new?MInner();
????????
????????//?調用內部類的方法
???????int?newScore?=?mi.getScore();這兩條語句為什么要放在這里啊,要我寫的話:class?MInner?{
int?score?=?83;
//?創建方法內部類的對象
????????MInner?mi?=?new?MInner();
????????
????????//?調用內部類的方法
???????int?newScore?=?mi.getScore();
???????System.out.println("姓名:"?+?name?+?"\n加分后的成績:"?+?newScore);
public?int?getScore()?{
return?score?+?10;
}可是這樣寫不對啊,求大佬告知啊~~~
1 回答
已采納

安浪創想
TA貢獻81條經驗 獲得超23個贊
class XXX{}里是類的定義,里面只能寫屬性(變量)或者方法。而不能直接寫其他語句。
class?MInner?{ int?score?=?83; //?創建方法內部類的對象 MInner?mi?=?new?MInner(); //?調用內部類的方法 int?newScore?=?mi.getScore(); System.out.println("姓名:"?+?name?+?"\n加分后的成績:"?+?newScore); public?int?getScore()?{ return?score?+?10; }
這是一個類,不能寫一個語句?
System.out.println("姓名:"?+?name?+?"\n加分后的成績:"?+?newScore);
這個不是對象也不是方法。
如果你需要打印東西或者進行其他操作,就需要用這個類創建對象并執行這個類里面的方法,也可以是靜態方法。而不能把操作寫在class XXX{}大括號這級語句塊中。因為類只有使用到時候才觸發的。你不去用這個類的時候它的屬性和方法都不會動。