引用Java方法的指导原则是什么?
当我需要在讨论中引用Java方法时,我通常这样写: 然而,不清楚是否:引用Java方法的指导原则是什么?,java,methods,Java,Methods,当我需要在讨论中引用Java方法时,我通常这样写: 然而,不清楚是否: 该方法是静态的 该方法具有返回类型 该方法具有可见性修改器 该方法可能引发异常 那么,在引用Java方法时,是否有编写Java方法的标准呢?最完整的版本是使用修饰符和返回类型编写方法的整个签名,并最终抛出异常,如标准javadoc中所示: public boolean equals(Object obj) 显然,它还取决于使用引用的上下文。尽量做到所需的完整。这是一个很好的指南: 没有返回类型的方法将声明为void,
- 该方法是静态的
- 该方法具有返回类型
- 该方法具有可见性修改器
- 该方法可能引发异常
那么,在引用Java方法时,是否有编写Java方法的标准呢?最完整的版本是使用修饰符和返回类型编写方法的整个签名,并最终抛出异常,如标准javadoc中所示:
public boolean equals(Object obj)
显然,它还取决于使用引用的上下文。尽量做到所需的完整。这是一个很好的指南:
没有返回类型的方法将声明为void,而具有返回类型的方法将返回类型作为方法声明的一部分
静态方法(在类中)可以从另一个类调用,而无需创建该类的实例。假设这个问题是指在元上下文中讨论Java代码时如何引用方法的困难。例如 在此上下文中,您应该使用该方法而不是
++
运算符,因为
现在,我们可以讨论的一种方法可以按以下方式分类:
- 静态与非静态
- 有参数vs没有参数
- 具有返回值vs具有无效类型
- 公共访问与私人访问与其他访问
- 有问题的“append”方法需要一个参数
- 它是一个非静态方法,上面的用法看起来像一个静态方法调用
StringBuilder sb=新建StringBuilder();
某人附加(文本附加)代码>
这样做的问题是不必要的冗长,而且会变得更加笨拙和不方便。此外,它失去了以“元”方式讨论方法的能力,也没有明显的地方放置链接供参考
如果您所引用的方法的类是已知的,那么消除所有歧义的一种方法是提供中给出的完整方法签名,包括访问修饰符。例如
尝试使用的实例的方法。这避免了重复的过程
这具有一致性和显示所有相关信息的优点,但打字确实会变得更加费力
如果上下文表示不存在歧义,则省略以下任何一项是合理的:
public
StringBuilder追加(stringstr)
如果访问修饰符与讨论无关,则可以省略public
public
StringBuilder
append(stringstr)
如果返回类型明显、明确或与讨论无关,则可以省略它
publicstringbuilder追加(String
str
)
如果参数名称与讨论无关(通常情况下),则可以省略它们
公共StringBuilder追加
(字符串str)
如果意图中没有歧义或参数不相关,则可以完全忽略参数
尝试使用的实例的方法。这避免了重复的过程
这也许是避免不必要信息的最明确的方法。也就是说,我的第一个示例中的符号非常方便,通常不会导致混淆
归根结底,这取决于品味,但避免模棱两可应该是最重要的考虑因素,为此,采用一种相对符合Java API规范本身的方法似乎是一个好主意。这里有一个有趣的问题。我假设“命名”是指在讨论代码时引用方法的行为?在这种情况下,这更多的是一个“元”问题,而不是关于Java本身的问题。您不是在问用Java编写方法的标准是什么。你是在问我怎么称呼特定的方法?您只需查找即可。按照惯例,Java中的方法名是“camelCase”。除此之外,适当地命名他们来描述他们的工作。静态或返回值与任何事情都有什么关系?一般来说,java中的方法名称很快描述了功能。名为getX
的ie方法应该返回x,而不是打印“hello world”。我认为,这个问题是指讨论(在元上下文中)Java方法名称的问题,而不是命名约定的问题。