java中有这样的程式,
public class Book { private String id;
private String name;
private String auth;
public Book(){}
public Book(String id, String name, String auth){
this.id = id;
this.name = name;
this.auth = auth;
}
public void setId(String id){
this.id = id;
}
public void setName(String name){
this.name = name;
}
public void setAuth(String auth){
this.auth = auth;
}
public String getId(){
return this.id;
}
public String getName(){
return this.name;
}
public String getAuth(){
return this.auth;
}
} 虽然在内部设置了权限,但是在外面也可以通过实例化对象的方法进行访问,,这样访问和直接public String id;------>>有什么不一样(他们两者都可以进行访问和修改)
java设置器和访问器
答案:2 悬赏:0
解决时间 2021-02-21 07:41
- 提问者网友:一人心
- 2021-02-21 00:25
最佳答案
- 二级知识专家网友:伤口狠精致
- 2021-02-21 01:13
如果我想让ID不能为空,且长度不大于10,那么我可以
public void setId(String id){
if(id!= null && id.length() <= 10) {
this.id = id;
}
}
这是直接公开成员变量做不到的。
如果我只想让外界访问,但不想让外界修改ID,那么我可以
不写getId方法,或者将其设置为private,
这是直接公开成员变量做不到的。
如果。。。
public void setId(String id){
if(id!= null && id.length() <= 10) {
this.id = id;
}
}
这是直接公开成员变量做不到的。
如果我只想让外界访问,但不想让外界修改ID,那么我可以
不写getId方法,或者将其设置为private,
这是直接公开成员变量做不到的。
如果。。。
全部回答
- 1楼网友:恕我颓废
- 2021-02-21 01:37
你是想做封装吧。
在其它类中给id name取值、赋值。 需要通过 对象名.方法名才行。
字段 id name 都是private的,在其它类(比如继承此类的子类)是访问不到的。
需要调用public的 getname getid才行。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯