为什么核心库中的某些java方法以数字结尾?
它在JDK的很多类中都很常见,只有几个例子:
- java.util.Properties
- load0
- store0
- java.lang.Thread中
- START0
- STOP0
- setPriority0
通常它们是私有本机方法(如在Thread类中),但有时它们只是私有的(Properties类)
如果有人知道背后是否有任何历史,我只是好奇。
我认为这个约定的历史早于Java。 我依旧回忆起在4.x BSD Unix的C库中看到它。
我相信它们的命名是这样的,因为代码中存在具有相同名称的等效函数,只是为了区分本机辅助函数和公共函数,它们决定用0后缀它们。
在java.util.Properties
, load
, store
和load0
, store0
存在。
完成方法名称后的0,以区分具有相同名称的公共和私有方法。
Start
function将调用start0
函数。 那些以0结尾的函数是私有方法。 那些没有数字结尾的是公开的。 您可以登记任何图书馆。