java - 静态导入和构造函数

标签 java import constructor static

在 Java 中,如果我想在不创建特定类的实例对象的情况下使用方法,我会使用静态导入。

类似于:

import static com.company.SomeClass.*;

然后我可以在另一个类中调用该类的方法,而无需创建 SomeClass 的实例。

一旦我使用了该类的方法,是否也调用了该类的构造函数?

例如,如果我调用

SomeClass.doStuff();

是否在幕后为 SomeClass 调用了构造函数?

最佳答案

Does the constructor get called for SomeClass behind the scenes?

调用方法不会调用构造函数。创建类的实例时调用构造函数。在这里,您没有实例化 SomeClass,而是直接访问类名上的 static 方法。因此,没有必要调用构造函数。

但是,如果您想调用一个实例方法,那么您首先需要一个包含该方法的类的实例。您只能使用类的实例访问实例方法。但在这种情况下,调用方法也不会在幕后调用构造函数。

关于java - 静态导入和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433132/

相关文章:

java - 在堆栈数据结构上存储新元素时,.next 如何工作? [Java]

typescript - 如何在 `d.ts` 文件中导入类型(从另一个文件)而不将其转换为模块?

C++ - 构造函数和自引用类

java - 如何结合方法重载来为 Java 8 中的一个方法名称调用不同的参数类型?

java - LongPress 可以在 move 事件后触发吗?

c# - IronPython 如何访问 C# 中定义的公共(public)静态属性?

java - 无法在 Netbeans 的 Maven 项目中导入任何 javax-servlet

c++ - 通过在构造函数主体之前抛出异常来防止构造

java - println : Location class, 方法 println() 出错

java - 如果我动态传递 fileId 来查询,Google Drive api 无法获取所有子项