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

关于student.courses.contains(course2)

/*
 * 测试Set类中的contains方法
 */
    public void testSetContains() {
        //提示输入课程名称
        System.out.println("请输入学生已选的课程名称:");
        Scanner scan = new Scanner(System.in);
        String name = scan.next();
        //创建一个新的课程对象,ID和名称,与course对象完全一致
                Course course2 = new Course();
                course2.name = name;
                System.out.println("新创建课程:"+course2.name);
                System.out.println("备选课程中是否包含课程:"+course2.name+","+
                        student.courses.contains(course2));

大家好,我想请教一下这个代码最后输出语句里面的student.courses.contains(course2)

老师这么写我知道大概应该是访问courses集合,但是这里面的语法规则是什么。老师在写这个之前就在最前面定义了一个Student类型的成员变量student

public Student student;

而Set类型的集合courses是在类Student中定义的,而在本类SetTest中要访问另一个类的集合courses,类比推理,不也是应该是“对象。courses”吗,而老师在这个方法中并没有重新定义一个对象,这不就成了“成员变量。courses”了吗?


提问者:13hc 2017-07-26 23:38

个回答

  • SteveGBL4220115
    2017-07-27 11:56:57
    已采纳

    student是Student的对象,Student是一个学生类,courses是Student类里面的一个成员,用对象student调用类成员没问题