课程
/后端开发
/Java
/Java入门第二季 升级版
10分30秒左右,代码执行之后只剩下screen这个参数的值了。为什么
2016-10-03
源自:Java入门第二季 升级版 8-6
正在回答
原因是:为了避免传入的screen尺寸过小不符合实际,代码中添加了if条件判断语句(避免手机尺寸小于3.5英寸的情况,不太现实)
if(newScreen < 3.5f){ System.out.println("您输入的参数有问题,自动赋值3.5");//这里有一个输出语句 newScreen = 3.5f; }
所以说,并不是代码执行之后只剩下screen这个参数的值了,而是程序中只有关于screen赋值的那部分代码中有输出语句,所以才会才控制台上显示
你再仔细看看视频的9:50~10:20秒那部分;
纯手打望采纳
Cyifovou 提问者
JustWannaHugU 回复 Cyifovou 提问者
new Telphone(1.5f,1.4f,2.0f),这是一个带三个参数的方法,会在Telphone类里面多个方法中找一个对应三个参数的方法,找到该方法后,实现该方法体内的功能,由于该方法体内的功能只给screen赋值了,其它参数没用上.也可以理解为,后面两个参数传进去了但是没有用到;
因为在Telphone类中定义的有参构造方法没有定义输出成员变量的值的代码,成员方法被调用后只能将参数值传入对变量赋值,然后通过输出代码输出一行文字,要想输出成员变量的值,你可以自己添加输出代码。
你可以看看他构造方法的代码,没有要求成员变量输出,也就是说没有System.out.println("成员变量xxx");这个东西
你仔细看看构造的方法,那个方法里可能没有打印其他值的代码
你在里面再补上两句:
System.out.println();//括号里填其成员变量名
仔细看Telphone的构造方法Telphone()(10分29秒),当传入的newScreen参数小于3.5f时,只是输出“您输入的参数有问题,自动赋值3.5”这句话:
System.out.println("您输入的参数有问题,自动赋值3.5");
并不会输出其他成员变量的值
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
1 回答有参的构造方法给成员变量赋值
2 回答为什么成员变量的初始化一定要用构造方法的参数传进来??
1 回答什么叫做“创建对象的时候,其实执行的是构造方法”?
3 回答为什么我用有参的构造方法时候,只能输出语句,却不能给全局变量赋初值?
1 回答构造方法里头能不能直接用构造方法的参数,不赋值给成员变量