听课的疑问
1、在同一个类中,get方法写在set方法前,会不会导致get直接把属性的默认值返回测试类?
2、在视频结尾,对象实例化过程中,使用带参构造实例化对象,Cat one=new Cat(-3);,也就是把年龄month传成了负数,可是不是用getMonth返回测试类吗?在测试类中专门使用了if(one.getMonth==0)来判断是否要打印,那还干嘛要在带参的构造方法中调用同一个类中的setMonth(month);呢?
3、即便我不去理解上面的困惑,继续听课,还是有两点疑惑:
课程里讲,Cat one = new Cat(-3);,此时传值导致逻辑错误,需要构造方法 public Cat(int month)在方法体内调用同一类中的public void setMonth(int month)方法体内的if限制条件,if(month<0){打印输出信息错误;}else{this.setMonth(month);}
一、老师,这也太麻烦了,能不能直接在构造方法里去写if的限制条件,这样就不用调用setMonth(int month)了?
二、还有,在使用this调用setMonth(month)的方法时,怎么把参数month的类型 int 给省略了,写成了: this.setMonth(month);?
正在回答
同学你好,在拥有属性和方法的类中,创建set、get方法的顺序对赋值、获取值没有任何影响。只与在Test类中的调用set、get方法的顺序有关。所以,就算在属性的方法的类里,get方法写在set之前,只要先调用了set方法赋值,再使用get方法获取,就会返回已经赋值过了的属性。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星