java这个最终的整数变量初始化有什么问题?
我尝试了这段代码,并进行了大量的修改。但我不知道为什么这是非法的。从理论上解释什么是错误的
class Example{
public static void main(String args[]){
final int y;
y=100;
byte b;
b=y;
}
}
你可以在下面搜索框中键入要查询的问题!
我尝试了这段代码,并进行了大量的修改。但我不知道为什么这是非法的。从理论上解释什么是错误的
class Example{
public static void main(String args[]){
final int y;
y=100;
byte b;
b=y;
}
}
# 1 楼答案
我猜你是在问为什么密码会给你
但这段代码没有:
原因是,如果不将该值作为初始值设定项提供(稍后通过赋值将其赋值),编译器不会将其视为编译时常量,因此不知道该值是否适合
byte
。部分原因是,要将其视为编译时常量,编译器必须处理这样做的可能性:因此,当
100
是初始值设定项时,编译器仅将其作为编译时常量处理,而不是当它是赋值时