问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

http://www.imooc.com/video/3227 中的视频课程9分04秒

我在Student类中把id和name进行了私有,

private String id;

private String name;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

但在SetTest中

System.out.println("选择了课程:"+cr.id+":"+cr.name );

为啥不用cr.getName()和cr.getId()也可以?

提问者:kevin00012 2016-06-13 17:07

个回答

  • Dully_0001
    2016-07-22 17:39:48

    按照你这样的写的代码应该会提示

    “字段 Course.id 不可视  ”http://img.mukewang.com/5791e9dc000146c707400239.jpg

        


  • helloworld2008
    2016-06-20 18:33:55

    如果成员是私有的话,不方便使用,必须通过调用get函数,老师是为了方便。

    public公有的话,使用范围比较广,在其他类,方法中都可以直接用。

    我觉得一般来说属性是私有,方法是公有,我自己写代码不怕麻烦,所以我的代码就是这样的:

    System.out.println(cs.getName() + "  " + cs.getId());

    呵呵呵。。。

  • 慕粉3474656
    2016-06-13 17:38:21

    因为在同一个类中,你应该回头去看看private的访问权限