java - 这两个静态方法调用之间有什么区别吗?

标签 java static

在下面的代码中,ABC.getSomeNumber();getSomeNumber(); 有什么区别吗?我知道在同一个类中有一个类名来调用静态方法似乎是多余的,但是如果我们明确地使用类名,是否会有任何性能问题或其他问题?这些在编译时如何解决 ABC.getSomeNumber(); vs getSomeNumber();

public class ABC {
   public static int getSomeNumber(){
     return 10;
   }

   public static void anotherMethod(){
     ABC.getSomeNumber();
     getSomeNumber();
   } 
}

最佳答案

在这种情况下没有区别。

如果从不同的类调用(直接或通过静态导入),您将需要该名称。

您可以在同一个类中使用任何一种形式。这真的取决于偏好。如果您从许多类中调用类似名称的方法,您可以选择显式使用类名,因为这将帮助您消除歧义,从而更容易阅读。

对性能没有影响,因为它们一旦编译就变得相同。

关于java - 这两个静态方法调用之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51298491/

相关文章:

java - 为什么 Kotlin 字节码会引用 java.util.function.BiConsumer?

java - 减少FFT的处理时间

java - 如何指定 Java 源文件的编码?

java - 如何禁用 PrinterJob.pringDialog() 中的微调器?

objective-c - 我可以创建只对我的类可见的 C 函数,它被分成多个文件吗?

java - Java 中静态变量的问题

在 https 下提供的 Django 管理静态文件

C# 可插拔工厂/静态初始化

c++ - 为什么我们可以在类范围之外定义私有(private)成员

java - 删除ArrayList对象的重复项并获取值的总和