 
		慕UI8158843
2018-06-22 22:55
为什么能通过,显示的不是93

 
				//外部类
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 mo = new HelloWorld();
        
        // 调用外部类的方法
        mo.show();
    }
}你代码没发上来,你让我猜我还真不好猜是哪里出了问题,  你可以对照我的找一下问题所在。 建议你根据注释的流程一步一步的在脑子里过一遍,看是在哪里去了问题,  
另外不要一味的往死里钻,要跳出来理解一下,可以根据这个流程自己在心里做个比喻和假设。
 
				你应该写成这样了:
MInner newScore=new MInner();
newScore.getScore();
System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
打印对象newScore相当于调用对象的toString方法(newScore.toString())
这是它本身的源码getClass().getName() + "@" + Integer.toHexString(hashCode())
具体可以看看这个视频https://www.bilibili.com/video/av20477958/?p=90
Java入门第二季
531292 学习 · 6327 问题
相似问题