java - 为什么最好从方法类的实例中静态调用静态方法?

标签 java static

如果我在 Java 中创建一个类的实例,为什么最好静态调用同一个类的静态方法,而不是使用 this.method()?

当我尝试通过 this.staticMethod() 从自定义类的构造函数中调用静态方法 staticMethod() 时,我从 Eclipse 收到警告。

public MyClass() { this.staticMethod(); }

对比

public MyClass() { MyClass.staticMethod(); }

谁能解释为什么这是一件坏事?在我看来,编译器应该已经分配了对象的一个​​实例,因此静态分配内存将是不必要的开销。

编辑:

我所听到的要点是,这是一种不好的做法,主要是因为可读性,这是可以理解的。我真正想问的(尽管不是很清楚)是调用 MyClass.staticMethod() 或 this.staticMethod() 之间的“编译”(如果有的话)有什么区别。

最佳答案

静态方法不绑定(bind)到类的实例,因此从 this 调用它不如从 Class 调用它有意义。 staticMethod(),也更具可读性。

关于java - 为什么最好从方法类的实例中静态调用静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2695893/

相关文章:

java - 在第三个数组内打印两个数组,该数组的组合长度与前两个数组的长度相同

java - 拆分方法java

python - Django 静态文件版本

php - 将动态网址转换为静态页面

java - 为什么我不能在内部类中声明和初始化静态变量?

c++ - 静态成员初始化链接错误

java - 当应用程序最小化时监听下载

java - 上下文文件未加载tomcat

java - 为什么不能在 Java 中将类型为 <ParentInterface> 的对象存储在类型为 <ChildInterface> 的容器中?

java - Java中的最终静态变量是线程安全的吗?