Java中初始化块的需求是什么?它如何帮助编码?
我们只是在代码中添加一组花括号吗?
例如:
public class GFG
{
// Initializer block starts..
{
// This code is executed before every constructor.
System.out.println("Common part of constructors invoked !!");
}
// Initializer block ends
public GFG()
{
System.out.println("Default Constructor invoked");
}
public static void main(String arr[])
{
GFG obj1;
obj1 = new GFG();
}
}
答案 0 :(得分:0)
有两种类型的初始化程序块。 您有一个静态初始化程序块,它在创建类时运行。它的语法是
static {
//stuff here
}
另一个是实例初始化块,它在您实例化对象时运行。它的语法是
{
//stuff here
}
如果初始化需要一些逻辑(例如,错误处理或for循环来填充复杂的数组),则简单的赋值是不合适的。实例变量可以在构造函数中初始化,其中可以使用错误处理或其他逻辑。为了为类变量提供相同的功能,Java编程语言包括静态初始化块。
这是为了回答您何时应该使用它们的问题。您基本上使用它们来初始化具有某种特定逻辑的变量。 It's from the official Oracle documentation