我试图找到有关此特殊性的答案,但找不到任何答案。
我在下面的代码中有一条括号内的指令,该指令仅包含 static
关键字作为 header 。
我确实清楚地了解它的作用,并且可以像任何其他静态
方法/变量一样猜测它们的用途,但我无法为其命名。
它既不是变量,也不是方法(它不返回任何内容,甚至不返回“void
”),当然也不是构造函数,因为使用了 static
关键字。
我们如何称呼这种特殊的“方法”?
这是代码:
public class Test{
static {
System.out.println("What do we call this?");
}
public Test(){
System.out.println("Instance of Test created");
}
public static void main(String[] args) {
new TestSon().go();
}
public void go(){
System.out.println("Go method Test");
}
}
class TestSon extends Test{
static {
System.out.println("Same here...");
}
public TestSon(){
System.out.println("Instance of TestSon created");
}
@Override
public void go() {
System.out.println("Go method son");
}
}
输出:
What do we call this?
Same here...
Instance of Test created
Instance of TestSon created
Go method son
最佳答案
这是一个所谓的“静态初始化 block ”,您可以在 https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html 阅读更多相关信息。
关于java - 括号内的指令仅包含 Static 关键字作为标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812069/