gpt4 book ai didi

Java : static keyword in middle of class

转载 作者:行者123 更新时间:2023-11-29 09:49:29 26 4
gpt4 key购买 nike

示例代码如下:

class A {

static {
int a;
class B {
}
}

public static void main(String[] args){
// cannot access class B and in a;
}
}

我不知道此上下文中的 static 关键字是什么意思。我在其中声明了一个 int 变量和一个类。但是我不能在 A 类或 main 方法中使用它。我编译,它不会产生任何错误。所以,我认为这种声明有一定的目的。

最佳答案

这是一个静态初始化 block 。您可以使用它来收集静态/类成员的初始化。

同样,您可以使用非静态初始化 block 来为每个新对象初始化实例 成员:

class A
{
static int a;

private int b;

// static/class initialization:
static
{
// initialize class members
a = 5;
}

// instance initialization:
{
// initialize instance members
b = 5;
}
}

这个例子很简单,您可以只在声明中初始化变量:static int a = 5,实际上通常这样会更清楚。但是当初始化是多步的,或者通常更复杂的时候,使用初始化 block ,例如,建立数据库连接。

有关更多示例,请参阅:Initializing Fields来自 Java 教程。

关于Java : static keyword in middle of class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12307243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com