为什么最后部分讲带判定的参数构造方法的时候,最后执行的时候没有输出其他的成员变量值

来源:8-6 Java 中的构造方法

Cyifovou

2016-10-03 17:33

10分30秒左右,代码执行之后只剩下screen这个参数的值了。为什么

写回答 关注

6回答

  • JustWannaHugU
    2016-10-03 18:05:55
    已采纳

    原因是:为了避免传入的screen尺寸过小不符合实际,代码中添加了if条件判断语句(避免手机尺寸小于3.5英寸的情况,不太现实)

    if(newScreen < 3.5f){
        System.out.println("您输入的参数有问题,自动赋值3.5");//这里有一个输出语句
        newScreen = 3.5f;
    }

    所以说,并不是代码执行之后只剩下screen这个参数的值了,而是程序中只有关于screen赋值的那部分代码中有输出语句,所以才会才控制台上显示

    你再仔细看看视频的9:50~10:20秒那部分;

    纯手打望采纳

    JustWa... 回复Cyifov...

    记得采纳就是好孩子~哈

    2016-10-08 12:15:48

    共 2 条回复 >

  • qq_Realluvian_04103185
    2016-10-03 18:13:48

    new Telphone(1.5f,1.4f,2.0f),这是一个带三个参数的方法,会在Telphone类里面多个方法中找一个对应三个参数的方法,找到该方法后,实现该方法体内的功能,由于该方法体内的功能只给screen赋值了,其它参数没用上.也可以理解为,后面两个参数传进去了但是没有用到;

  • 幻灵999
    2016-10-03 18:13:34

    因为在Telphone类中定义的有参构造方法没有定义输出成员变量的值的代码,成员方法被调用后只能将参数值传入对变量赋值,然后通过输出代码输出一行文字,要想输出成员变量的值,你可以自己添加输出代码。

  • 勤劳的声光工程师
    2016-10-03 18:12:49

    你可以看看他构造方法的代码,没有要求成员变量输出,也就是说没有System.out.println("成员变量xxx");这个东西

  • 秋雨之忆
    2016-10-03 18:10:00

    你仔细看看构造的方法,那个方法里可能没有打印其他值的代码

    你在里面再补上两句:

    System.out.println();//括号里填其成员变量名


  • 我是我的超
    2016-10-03 18:08:14

    仔细看Telphone的构造方法Telphone()(10分29秒),当传入的newScreen参数小于3.5f时,只是输出“您输入的参数有问题,自动赋值3.5”这句话:

    System.out.println("您输入的参数有问题,自动赋值3.5");

    并不会输出其他成员变量的值

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530105 学习 · 6086 问题

查看课程

相似问题