指与点
2015-04-08 12:01
运行结果是这个:
姓名:爱慕课
加分后的成绩:HelloWorld$1MInner@26e56328
想知道为什么会有这样的结果输出?
int newscore=newscore.getscore();加上这一句,给他一个变量存起来。
MInner newScore= new MInner(); newScore.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore);
其实你中间这行并没有在任务起作用。因为你最后打印的是newScore,而这个前一次出现是在第一行,也就是new出来的对象,(中间没有被赋值)自然只是一个内存地址了。
应该将现在第二行再赋值给newScore才对。
getScore方法是有返回值的
所以20行不能直接这么写 要不就用一个变量把newscore装起来再输出 要不就直接把newScore.getScore()写入print里面
System.out.println("姓名:" + name + "\n加分后的成绩:" + newScore.getScore()); //这样才是打印内部类方法返回的值吧
你那返回的是一个对象
Java入门第二季 升级版
530661 学习 · 6091 问题
相似问题