Java从常量的定义看变量的声明和赋值

 时间:2024-10-14 11:02:29

1、先来看问题,编写测试类,定义一个常量;编译器给出的错误提示是常量TEST不能被分配,言外之意就是不允许修改TEST。

Java从常量的定义看变量的声明和赋值

2、之前了解过,final修饰的变量的引用是不允许修改的(即引用的值不能变,也即不允许多次赋值),难道在静态代码块之前TEST已经被初始化,并分配内存了,然后我再次尝试修改常量就会抛出编译器错误。

Java从常量的定义看变量的声明和赋值

3、看到这里,只能是 "=null",已经给常量赋值了,结果就不允许在静态代码块中赋值了。

Java从常量的定义看变量的声明和赋值

4、所以修改TEST的声明,去掉“=null",结果就不报错了。

Java从常量的定义看变量的声明和赋值

5、还有一点值得思考,就是final修饰的常量必须赋值,否则编译器会报错;

Java从常量的定义看变量的声明和赋值

6、思考,这也就说明了几个问题:(1)声明常量和给常量赋值是两个过程,也可以在声明的时候直接赋值;即使用“=”赋值。(2)常量必须赋值。(3)“=null”,也是赋值(4)对于常量,只允许一次赋值。(常量就是只允许赋值一次的变量)

7、对于变量而言,Java会给声明的变量赋值初始值,比如对象的null、整形的0、String的null、浮点型的0.0等

Java从常量的定义看变量的声明和赋值
  • 手把手教你c++构造和析构函数被调用(1)
  • MATLAB匿名函数(Anonymous Function)和求最小值
  • VS如何快速设置制表符
  • 怎么在Matlab处理基于网络的插值?
  • 掉进传销后,怎样做才不会被洗脑?
  • 热门搜索
    传统文化手抄报 少先队员手抄报 劳动最光荣手抄报 四年级数学手抄报 家风家训手抄报 护眼手抄报 元宵节手抄报 汉字手抄报简单又漂亮 世界水日手抄报 手抄报图片大全