java 中的错误 "variable Y not initialized in the default constructor" 背后的内部过程是什么?
What is the internal process behind that error "variable Y not initialized in the default constructor" in java?
我想知道那个错误“变量 Y 未在
默认构造函数”内部发生了什么...
static final int y;
public static void main(String[] as){
System.out.println(y);
}
- 我使用的是静态变量而不是实例,但我还是有。
- 为什么它只在sameline or static block.
中初始化
- 什么是默认构造函数。
- I've used static variable, not instance, but still I got
variable Y not initialized in the default constructor
.
该错误具有误导性。默认构造函数部分应该被忽略。其余错误正确。
- Why it is only initialized in same line or static block.
必须在 class 投入使用前进行初始化。只有这两个地方可以做到这一点,因此必须在其中一个地方对其进行初始化。
- What is the role of default constructor.
如 #1 所述,它在这里没有任何作用。
1. 如果你试图在变量有值之前使用它们,你通常会得到一个 NullPointerException 告诉你这个变量除 null 外没有其他值。
2. 您有 "created" 一个必须在创建对象之前分配的常量。这可以在静态块中完成
static {
//assignment - no logic here!
}
或直接在 "create".
3. 标准构造函数仅用于创建对象,因为没有分配或逻辑空间 (构造函数中从不逻辑)。除非你改变它。
I'hve used static variable not instance but sill i got
不是因为static
关键词;这是因为 final
关键字需要 y
进行初始化。如果您从声明中删除关键字 final
,它将毫无问题地编译。
Why it is only initilzed in sameline or static block .
同样,如果它已经被声明为final
,它必须用声明初始化。在 static block 中初始化它是行不通的。
What is the roll of default constructor.
勾选Java default constructor
我想知道那个错误“变量 Y 未在 默认构造函数”内部发生了什么...
static final int y;
public static void main(String[] as){
System.out.println(y);
}
- 我使用的是静态变量而不是实例,但我还是有。
- 为什么它只在sameline or static block. 中初始化
- 什么是默认构造函数。
- I've used static variable, not instance, but still I got
variable Y not initialized in the default constructor
.
该错误具有误导性。默认构造函数部分应该被忽略。其余错误正确。
- Why it is only initialized in same line or static block.
必须在 class 投入使用前进行初始化。只有这两个地方可以做到这一点,因此必须在其中一个地方对其进行初始化。
- What is the role of default constructor.
如 #1 所述,它在这里没有任何作用。
1. 如果你试图在变量有值之前使用它们,你通常会得到一个 NullPointerException 告诉你这个变量除 null 外没有其他值。
2. 您有 "created" 一个必须在创建对象之前分配的常量。这可以在静态块中完成
static {
//assignment - no logic here!
}
或直接在 "create".
3. 标准构造函数仅用于创建对象,因为没有分配或逻辑空间 (构造函数中从不逻辑)。除非你改变它。
I'hve used static variable not instance but sill i got
不是因为static
关键词;这是因为 final
关键字需要 y
进行初始化。如果您从声明中删除关键字 final
,它将毫无问题地编译。
Why it is only initilzed in sameline or static block .
同样,如果它已经被声明为final
,它必须用声明初始化。在 static block 中初始化它是行不通的。
What is the roll of default constructor.
勾选Java default constructor