Java封装
作者:互联网
参见英文答案 > Why use getters and setters/accessors? [closed] 38个
我们总是说如果我们只是将变量私有定义并定义getter setters来访问这些变量,那么数据将被封装.我的问题是,如果我们可以通过getter和setter访问变量(数据),那么数据是如何隐藏或安全的?
我用Google搜索了很多解释,但我什么都没发现.每个人都在他们的博客和帖子中说过,这是一种数据隐藏技术,但尚未得到解释/阐述.
解决方法:
我理解你的问题的方式是,虽然我们将变量声明为私有,因为这些变量可以使用getter和setter来访问,但它们不是私有的.那么,这样做的意义是什么?
好吧,当使用getter和setter时,您可以限制对私有变量的访问.
即,
private int x;
public int getInt(String password){
if(password.equals("RealPassword")){
return x;
}
}
对于制定者来说也是如此.
标签:java,oop,java-ee,encapsulation 来源: https://codeday.me/bug/20190925/1817426.html