24

它在JDK的很多类中都很常见,仅举几个例子:

  1. java.util.Properties
    • 加载0
    • 商店0
  2. java.lang.Thread
    • 开始0
    • 停止0
    • 设置优先级0

通常它们是私有的本地方法(如在 Thread 类中),但有时它们只是私有的(Properties 类)

我只是好奇是否有人知道这背后是否有任何历史。

4

3 回答 3

13

我相信它们是这样命名的,因为代码中存在具有相同名称的等效函数,并且只是为了区分本机辅助函数和公共函数,他们决定用 0 作为后缀。

在,和,中java.util.Properties都存在。loadstoreload0store0

于 2012-04-04T07:12:21.207 回答
7

方法名后面的 0 这样做是为了区分具有相同名称的公共私有方法。

Start函数将调用该start0函数。那些以 0 结尾的函数是私有方法。那些不以数字结尾的都是公开的。您可以在任何图书馆签到。

于 2012-04-04T07:56:11.933 回答
5

我认为这个约定的历史早于 Java。我隐约记得在 4.x BSD Unix 的 C 库中看到过它。

于 2012-04-04T07:48:02.743 回答