我正在建立一个API,我希望以下完成维护包
com.example.objects
-> public someObject (class)
-> int someInt = 500;
com.example.database
-> private database (class)
-> void someMethod() {
(i need access to someInt here)
}
问题来了,因为我需要从数据库方法中的someObject访问常量someInt。但与此同时,我不希望API的外部用户能够看到someInt的值。
如果没有两个类在同一个包中,我找不到一种方法,因为(朋友c ++)关系在java中不存在而且我不想强迫它,因为它被认为是一个糟糕的设计的java。
有什么建议吗?
答案 0 :(得分:-2)
可能是你可以将someInt声明为常量(如果someInt的值永远不会改变)但是如果没有,你可以做的是在Database类中实例化SomeObject并使用封装方法来获取或设置a的值SomeObject的变量。如果你认为someObject将在没有更改的更多类中实例化,你可以使用单例模式来充分利用内存。