Java的属性为什么要设置为私有的?
2013-06-05
展开全部
私有是为了数据安全。比如你网站密码忘记了,你要去查询,你必须要提供证明,比如你的邮箱验证或者问题验证,通过后才会告诉你。
密码在这里就是私有的,你不能直接得到,get方法就是你查询,里面可以设置很多校验,只有通过校验的才能得到密码数据。这就是封装。
如果不需要校验就可以得到数据的话,是完全可以将属性设置为公有的,但如果又有多用户访问数据,设置成公有又会有问题,用户同时操作数据,有可能会导致有些用户取到的数据是错误的,而通过get方法,可以自己控制,比如有用户在改数据,这时候其他用户不能get。
所以封装的好处就是操作数据的接口唯一,所有访问都要通过get方法,get方法中如何校验就是你说了算,方便管理。
密码在这里就是私有的,你不能直接得到,get方法就是你查询,里面可以设置很多校验,只有通过校验的才能得到密码数据。这就是封装。
如果不需要校验就可以得到数据的话,是完全可以将属性设置为公有的,但如果又有多用户访问数据,设置成公有又会有问题,用户同时操作数据,有可能会导致有些用户取到的数据是错误的,而通过get方法,可以自己控制,比如有用户在改数据,这时候其他用户不能get。
所以封装的好处就是操作数据的接口唯一,所有访问都要通过get方法,get方法中如何校验就是你说了算,方便管理。
展开全部
私有就表示只有自己才可以用,别人不可以用,在java中,如果一个类有私有属性,那么就表示这个属性只为该类用,别的类不能用,通过方法是可以改变,什么事情都不是必然的吗,但是如果你通过方法改变属性,那么还不如不用私有呢。哈哈,私有主要是为了保护本类属性不受外界的影响。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class 银行卡{
// 不是私有卡号
String CardNO;
//私有的密码
private String Password;
/**
* 一个间接的公有方法,在类内部访问私有属性
**/
public int getPassword(){
return this.Password;
}
}
比如说银行卡丢了,被捡到了,卡号不是私有的,谁都能看见。
密码是私有的,不能被看见。增加了安全性。
要想访问到这个属性就要通过些方法了,去银行问,找人破解等等等
// 不是私有卡号
String CardNO;
//私有的密码
private String Password;
/**
* 一个间接的公有方法,在类内部访问私有属性
**/
public int getPassword(){
return this.Password;
}
}
比如说银行卡丢了,被捡到了,卡号不是私有的,谁都能看见。
密码是私有的,不能被看见。增加了安全性。
要想访问到这个属性就要通过些方法了,去银行问,找人破解等等等
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private 标签是为了java的实现对象封装中的信息隐藏原则。
就像你的钱一样,你不想随便的给别人用,就相当于private money。
其他人无法直接访问你的钱,如果别人想用你的钱,必须调用你的lend方法,才能访问你的钱...
就像你的钱一样,你不想随便的给别人用,就相当于private money。
其他人无法直接访问你的钱,如果别人想用你的钱,必须调用你的lend方法,才能访问你的钱...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
防止属性被外部随意调用,只用进过此类的实例化的对象才能调用,同时所使用的标准的get,set方法对于反射机制也是有关联的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询