为了账号安全,请及时绑定邮箱和手机立即绑定

来自Java入门第三季6-2中01:09中的疑问,求老鸟解释

为什么要这样做,有什么好处,如果不这样做我该怎么做



正在回答

3 回答

t1.studentForEach(t1.student);

当需要遍历student的Courses(Set集合)的时候,可以直接传入成员变量t1.student

否则如果student声明在方法里就是局部变量了。student是作为SetTest类的成员的。


console也定义为该类的成员变量,而不是放在用到的方法中声明是因为:

console在多个方法中都需要用到,所以作为类成员就只需分配一次堆内存,否则多个方法重新定义Scanner类变量,需要分配多次内存。

1 回复 有任何疑惑可以回复我~
#1

寻水的鱼丶 提问者

非常感谢!
2016-08-15 回复 有任何疑惑可以回复我~

在构造方法中对成员变量进行赋值,有利于节省内存,因为只有在setTest这个类被实例化的时候,这两个成员变量才会被赋值。当然也可以在定义这个变量的时候就直接初始化。这样影响应该不是很大。

0 回复 有任何疑惑可以回复我~
#1

寻水的鱼丶 提问者

不明白,小白表示听不懂。。。可以讲的详细一点么
2016-08-08 回复 有任何疑惑可以回复我~
#2

磁单极 回复 寻水的鱼丶 提问者

你是不是说,为什么定义console和courseToSelect属性的时候,为什么不直接初始化赋值,而是放在构造方法里面再去赋值。因为构造方法,是在实例化setTest这个类的时候才会被调用,当你需要的时候再去初始化赋值,这样对内存的节约有帮助。
2016-08-08 回复 有任何疑惑可以回复我~

你说的是为什么要创建Student类型的student属性吗

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

来自Java入门第三季6-2中01:09中的疑问,求老鸟解释

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信