為什么System.out.println()放到注釋的地方就出錯,放到內部類外面就可以執行?
public class Muk2_8{
?? ?private String name = "我愛";
?? ?public void show(){
?? ??? ?class Minner{
?? ??? ??? ?int score = 90;
?? ??? ??? ?public int getScore(){
?? ??? ??? ??? ?return score + 10;?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ??? ?//System.out.println("姓名:"+name);
?? ??? ??? ?//System.out.println("加分后成績:"+newScore);?? ?
?? ??? ?}?? ?
?? ??? ?Minner hello = new Minner();
?? ??? ?int newScore = hello.getScore();
?? ??? ?System.out.println("姓名:"+name);
?? ??? ?System.out.println("加分后成績:"+newScore);?? ??? ?
?? ?}
?? ?public static void main(String[] args){
?? ??? ?Muk2_8 wi = new Muk2_8();
?? ??? ?wi.show();
?? ?}?? ?
}
2016-08-12
類里面只能有對象和方法啊,你的輸出語句不是對象也不是方法,放到外面就是show()方法的一部分,當然可以啊
2016-08-12
這是因為生命周期的問題,方法內部類不能訪問方法中的局部變量,除非設置為final,因為方法執行結束時變量就消失了,但是內部類的對象可能還是存在的,故此!
2016-08-12
給樓上點個贊