为什么核心库中的某些java方法以数字结尾?

Pet*_*iuk 24 java naming-conventions

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

  1. java.util.Properties
    • load0
    • store0
  2. java.lang.Thread中
    • START0
    • STOP0
    • setPriority0

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

如果有人知道背后是否有任何历史,我只是好奇.

May*_*ank 13

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

java.util.Properties这两个load,storeload0,store0存在.

  • 源(jre6)显示`store`和`load`函数在包装参数后调用`load0`和`store0`. (2认同)

vik*_*iii 7

完成方法名称后的0,以区分具有相同名称的公共私有方法.

Start函数将调用该start0函数.那些以0结尾的函数是私有方法.那些没有数字结尾的是公开的.您可以登记任何图书馆.


Ste*_*n C 5

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