问答详情
源自:6-2 学生选课---判断 Set 中课程是否存在

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

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



提问者:寻水的鱼丶 2016-08-08 16:01

个回答

  • 海哥来了
    2016-08-14 20:07:58
    已采纳

    t1.studentForEach(t1.student);

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

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


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

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

  • 磁单极
    2016-08-08 16:31:13

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

  • 小幕1314
    2016-08-08 16:28:29

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