为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我输出的不是93,但是能通过

为什么能通过,显示的不是93

https://img1.sycdn.imooc.com//5b2d0d9f0001fbda04460160.jpg

正在回答

2 回答

//外部类
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();
    }
}

你代码没发上来,你让我猜我还真不好猜是哪里出了问题,  你可以对照我的找一下问题所在。 建议你根据注释的流程一步一步的在脑子里过一遍,看是在哪里去了问题, 


另外不要一味的往死里钻,要跳出来理解一下,可以根据这个流程自己在心里做个比喻和假设。

1 回复 有任何疑惑可以回复我~

你应该写成这样了:

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


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我输出的不是93,但是能通过

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信