我知道我的问题将被提名为在发布后立即关闭,但让我告诉你,我一直在搜索该站点,以在 Java 示例方面寻找明显的区别。请不要急于结束问题。
我写了以下内容:
public class Bank {
public String name="XXX Bank";
private int noOfCust;
public int getNoOfCust() {
return getNoOfCusts() + 2;
}
public void setNoOfCust(int noOfCust) {
if(noOfCust > 0)
{
this.noOfCust = noOfCust;
}
}
private int getNoOfCusts()
{
noOfCust = 100;
return noOfCust;
}
}
在这里,“noOfCust 是被隐藏的数据”。我不是通过引入私有 getNoOfCusts() 来公开实现部分。所以我相信这是封装,因为我已经将所有细节都捆绑在一个类中,并且也隐藏了数据。
问题1:如果这种强封装?如果没有,我该如何改进它以进行强封装?
问题2:抽象意味着完全隐藏实现。那么我上面所做的是抽象吗?
我出于沮丧而发布了这个问题,因为我已经向面试官解释了上述解释,他告诉我,这不是正确的意思。
PS:请按照上面的例子回答。我不想要实时的例子或假设。