首页 > 软件开发 > 编程语言 >

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

来源:互联网 2023-03-17 00:19:44 268

今天写Java代码,想使用静态代码块给常量赋值,定义的时候先给常量赋一个null值,然后在代码块中给常量赋正确值,结果编译报错,很是蹊跷,便引发了我对Java中常量赋值、以及变量声明和赋值的思考。1nb办公区 - 实用经验教程分享!

Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

工具/原料

  • ecplise
  • Java、常量、赋值、声明

方法/步骤

  • 1

    先来看问题,编写测试类,定义一个常量;编译器给出的错误提示是常量TEST不能被分配,言外之意就是不允许修改TEST。1nb办公区 - 实用经验教程分享!

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 2

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

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 2相关内容未经许可获取自百度经验
  • 3

    看到这里,只能是 "=null",已经给常量赋值了,结果就不允许在静态代码块中赋值了。1nb办公区 - 实用经验教程分享!

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 4

    所以修改TEST的声明,去掉“=null",结果就不报错了。1nb办公区 - 实用经验教程分享!

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 5

    还有一点值得思考,就是final修饰的常量必须赋值,否则编译器会报错;1nb办公区 - 实用经验教程分享!

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 6

    思考,这也就说明了几个问题:1nb办公区 - 实用经验教程分享!

    (1)声明常量和给常量赋值是两个过程,也可以在声明的时候直接赋值;即使用“=”赋值。1nb办公区 - 实用经验教程分享!

    (2)常量必须赋值。1nb办公区 - 实用经验教程分享!

    (3)“=null”,也是赋值1nb办公区 - 实用经验教程分享!

    (4)对于常量,只允许一次赋值。(常量就是只允许赋值一次的变量)1nb办公区 - 实用经验教程分享!

  • 7

    对于变量而言,Java会给声明的变量赋值初始值,比如对象的null、整形的0、String的null、浮点型的0.0等1nb办公区 - 实用经验教程分享!

    Java从常量的定义看变量的声明和赋值1nb办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!1nb办公区 - 实用经验教程分享!


    标签: JAVA编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码