【发布时间】:2017-12-22 22:58:34
【问题描述】:
我是 Spring 新手,在学习概念时我注意到所有成员都是私有的,即使用私有访问修饰符。
例如。
private String car;
这有什么特别的原因吗?
【问题讨论】:
-
这与Spring无关,是Java的概念。此外,找到这个问题的答案比在 SO 上发布这个问题要快得多,也更容易。
标签: java encapsulation access-modifiers
我是 Spring 新手,在学习概念时我注意到所有成员都是私有的,即使用私有访问修饰符。
例如。
private String car;
这有什么特别的原因吗?
【问题讨论】:
标签: java encapsulation access-modifiers
私有成员背后的想法是类本身保留其内部状态的责任,而不是调用类。考虑一个银行账户类。您不希望调用类能够直接访问其金额。相反,您将根据调用类的需要提供包含逻辑的其他方法。
private int amount;
public int getAmount() {
return amount;
}
public void withdraw(int amount) {
if (this.amount - amount >= 0) {
this.amount -= amount;
}
}
public void deposit(int amount) {
this.amount += amount;
}
上述类将允许调用类进行存款、取款和检查金额,而类本身将保留对其状态的责任。
【讨论】: