Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java—在项目中隐藏更新函数_Java - Fatal编程技术网

Java—在项目中隐藏更新函数

Java—在项目中隐藏更新函数,java,Java,我正在用Java创建简单的游戏引擎,我有一些软件包,如: 游戏 输入 时间 图形 每个包处理许多类,其中大多数都具有(并且应该具有)公共访问权限。让我们关注一个最重要的类,名为MouseInput MouseInput类仅处理公共静态方法,如getMousePosition(MouseAxis axis){…},但也处理一些方法,如updateMousePosition(){…} 现在我想让这个方法(updateMousePosition())只能由游戏包中的GameBase类调用 另外,我

我正在用Java创建简单的游戏引擎,我有一些软件包,如:

  • 游戏
  • 输入
  • 时间
  • 图形
每个包处理许多类,其中大多数都具有(并且应该具有)公共访问权限。让我们关注一个最重要的类,名为
MouseInput

MouseInput
类仅处理公共静态方法,如
getMousePosition(MouseAxis axis){…}
,但也处理一些方法,如
updateMousePosition(){…}

现在我想让这个方法(
updateMousePosition()
)只能由游戏包中的
GameBase
类调用

另外,我不想把所有这些课程都放在一个包里!我想把它们分开,以免把我的项目搞得一团糟


2第二点。我想让只能通过
GameBase
调用的所有方法都是静态的。

通过检查。这会向接收调用的方法添加一些代码,但任何“错误”调用都可能被拒绝。

这是不可能的。你可以让它们包privat,但是Java中没有
friend
的概念(就像c++中一样),但是我知道一些库/应用程序以某种方式阻止了对某些方法的访问。它们使用包private方法。我说我想分离这些类。我知道有可能实现“好友”效果,但不是直接告诉Java让另一个类成为好友,但这是完全不同的解决方案。