为什么能通过,显示的不是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