如何确保字段正确封装?

问题描述 投票:0回答:1

我想知道是否有一种简单的方法可以找到直接访问字段的所有方法。更精确地:

我想确保只有一种方法可以写入字段,而只有一种方法可以读取字段。所有其他访问都应使用这两个。

背景:当写入字段时,我需要记录一个事实,我可以使用生成的setter轻松地做到这一点,但是我想确保我不会在某个地方绕过它。

它用于移动设备而不是服务器,所以我不希望/不能使用接口或运行时字节码重写...

我知道,有ASM,但是AFAIK使用它意味着我想花更多的工作。我希望有更好的方法。

java encapsulation static-analysis
1个回答
0
投票

为了确保字段是否正确封装,我们需要将该字段设为私有。例如

private int value;

然后,我们需要为该字段添加getter()和setter()。例如

public int getValue() {
    return value;
}

public void setValue(int value) {
    this.value = value;
}

现在,我们可以使用getter()和setter()设置字段的值或获取字段的值。我们无法使用对象或类直接访问该字段。

© www.soinside.com 2019 - 2024. All rights reserved.