课程
/后端开发
/Java
/Java入门第二季 升级版
运行结果是这个:
姓名:爱慕课加分后的成绩:HelloWorld$1MInner@26e56328
想知道为什么会有这样的结果输出?
2015-04-08
源自:Java入门第二季 升级版 7-8
正在回答
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面向对象编程的奥妙
1 回答在创建方法内部类对象时,这么做不可以么,代码可以运行,但是结果不对
7 回答和老师相同的代码却报错
2 回答运行后结果不对
2 回答为什么检查代码中报错(运行结果正确)
3 回答求解答!我创建了对象,却报错,不知道是什么原因