Java中的常量必须要写初始值嘛?常量有对应的默认值嘛

Java中的常量必须要写初始值嘛?常量有对应的默认值嘛

常量需要初始化,当某个基本数据类型作为类的成员变量时,Java会赋予一个默认值:
1、整数类型(byte、short、int、long)默认值为0。
2、单精度浮点型(float)默认值为0.0f。
3、双精度浮点型(double)默认值为0.0d。
4、字符型(char)默认为 “/u0000”。
5、布尔性默认值为 false。
6、引用类型默认值为 null。
7、数组引用类型默认值为 null

int age; 默认age就是0,常量的话,前面还要加上final必须先给他设置初始值,它的值被设定后,在程序运行过程中不允许改变,一般用大写字符
语法:final 常量名 = 值;如:final int age=0;
必须要在常量声明的时候就对其进行初始化,否则会出现编译错误。常量一旦初始化后就无法再改动

Java变量的默认值和初始化
Java变量的默认值和初始化 - 鲁迅认识的那只猹 - 博客园 Java变量的默认值和初始化 学习自 《Thinking In Java》 技术小黑屋 "为什么局部变量需要显式设置初始化值" 变量的默认值 注意只有成员变量才有默认值,而局部变量 https://www.cnblogs.com/slyfox/p/9703910.html

必须要初始化常量,否则编译会不通过

img

对实例常量的初始化可以放到构造器中进行,但相当于还是需要初始化的

你确实是常量,而不是静态变量?

可以学习一下jvm类加载过程

常量是不可变的量,只有final修饰的自定义常量才可以赋值,比如2=1是不对的 final int MAX=1就可以