中易网

java设置器和访问器

答案:2  悬赏:0  
解决时间 2021-02-21 07:41
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;------>>有什么不一样(他们两者都可以进行访问和修改)
最佳答案
如果我想让ID不能为空,且长度不大于10,那么我可以
public void setId(String id){
if(id!= null && id.length() <= 10) {
this.id = id;
}
}
这是直接公开成员变量做不到的。

如果我只想让外界访问,但不想让外界修改ID,那么我可以
不写getId方法,或者将其设置为private,
这是直接公开成员变量做不到的。

如果。。。
全部回答

你是想做封装吧。

在其它类中给id name取值、赋值。  需要通过 对象名.方法名才行。

字段 id name 都是private的,在其它类(比如继承此类的子类)是访问不到的。

需要调用public的 getname  getid才行。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
厦门悦华酒店绿庭主题自助餐厅这个地址在什么
去掉电影中的原声
请问足球鞋适合跑400米吗?跑到是橡胶的,说
我不是潘金莲电影百度云链接
亿家宾馆(柳堡镇卫生院西南)地址有知道的么?
大连市普兰店区久寿小学地址有知道的么?有点
吉林公务员审计厅专业考试要求“财会、审计类
FtpClient这个类的方法怎么用?
剑侠情缘手游天王技能怎么加点 天王PK技能加
销售行业哪项赚钱一些?
胡家河蟹市场这个地址在什么地方,我要处理点
小说《千门》到底哪个才是正宗啊?
上面辟下面瓦是什么字?
刚上市MG3的AMT发动机请高人解惑,害怕买了后
申通快递(黄河西路营业厅)地址在哪,我要去那
推荐资讯
免费搭顺风车出事
古代小说里哥儿,爷儿究竟是什么意思?哪个是
宏久参业有限公司北岗人参种植分公司地址有知
小玩意精致店地址在什么地方,想过去办事
今天沈阳至首山高速路况查询
企业非法人能不能贷款?以谁的名义贷款?
九阳豆浆机做出来的豆浆还需要加热吗
头发乱了这歌曲讲什么的
现在有没有哪个玩妖姬很厉害的有在直播平台直
三星gt_i9152p刷机后wlan打不开
第18题怎么做,详细的解题以及化简过程,谢谢
梦见被男朋友狠狠咬自己的脸
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?