我怎样才能将成员字段设为此特定对象的私有字段?即该对象可以读取和修改该值,但同一类的其他对象不能。
例如
class Person
{
// don't mind sharing these with other persons :
private integer houseNumber;
private integer telephoneNumber;
// would like this to be *really private*
// (only visible / modifiable to this instance)
private integer bankBalance;
// Lots of code for interaction with other persons:
// (e.g. maintained by co-workers)
void interact1(Person person)
{
//Lots of code
}
void interact2(Person person)
{
//Lots of code
}
//...
void interactN(Person person)
{
//Lots of code
}
}
我了解 Java 的“私有”访问意味着访问仅限于此类中的代码。从概念上讲,类中的所有代码都在我的控制之下,所以我对此负责。控制 Person 对象对其他 Person 对象的作用应该是我的责任。
但是假设我有大量与其他人交互的方法,我希望编译器为我做检查,而不是亲自搜索代码。也许这个 java 文件是与同事共享的,并且经常更改。
我的问题是 - 如何在 Java 中实现“对此对象的私有”访问?有没有一种理智/明智的方式来实现它?
编辑 - 重新强调目标
我想要几行类设计/代码,以保证其他 Person 对象无法读取/写入属于该实例的 bankBalance。我知道它并不是真正为 Java 设计的——但这是我的动机的一部分,看看一般来说实现它的最干净的方法是什么。我真的希望编译器强制执行它 - 我不是在寻找涉及审核所有函数的解决方案,确保它们只调用正确的 getter / access 方法。