min*_*ins 3 java syntax vocabulary
好吧,一切都在标题中......
我知道这两种形式都引用了这种方法,但我没有看到是什么#增加了另一种形式.
ski*_*iwi 10
版本.是 Java 编程语言中使用的正式表示法,更具体地说,请考虑以下代码:
class Animal {
void fly() {
}
}
Run Code Online (Sandbox Code Playgroud)
使用该方法fly()我们需要执行以下操作:
Animal animal = new Animal();
animal.fly();
Run Code Online (Sandbox Code Playgroud)
然而,我们真正想要在文档中注释的是实例方法 fly()的调用,因此我们表示Animal#fly(),看似替代方案是Animal.fly(),但这表示Java 代码中类的静态方法。Animal
因此,Animal#fly()它被用于所有其他形式,总而言之,替代方案是:
Animal.fly(),但这可能意味着静态方法。animal.fly(),但是没有名为 的类animal。顺便说一句,值得注意的是,从 Java 8 开始,我们实际上可以直接在 Java 代码中执行这些操作,方法是:
Runnable animalFly = Animal::fly;
Run Code Online (Sandbox Code Playgroud)
这里我们也引用了该Animal#fly()方法,但是 javadoc 早于 Java 8 很长一段时间。
哈希字符(#)不是Java语言的一部分.
它在javadoc中有特殊用途.该规范状态
package.class #member是引用的任何有效程序元素名称 - 包,类,接口,构造函数,方法或字段名称 - 除了成员名称前面的字符应该是哈希字符(#).
和
如上所述,散列字符(#)而不是点(.)将成员与其类别分开.这使得Javadoc工具能够解决歧义,因为该点还分隔了类,嵌套类,包和子包.但是,Javadoc工具通常是宽松的,如果你知道没有歧义,它会正确地解析一个点,尽管它会打印一个警告.
该表示法不仅适用于方法,它适用于任何类型的成员.它有助于消除完全限定类型名称的歧义.