首页 理论教育 常量定义与重复定义的结果

常量定义与重复定义的结果

时间:2023-10-19 理论教育 版权反馈
【摘要】:动手写3.5.1其运行结果为:图3.5.1常量定义常量一旦被定义,在同一作用域下不能再次修改或者被重新定义,重复的定义也不会在程序中生效。编译失败结果为:图3.5.2重复定义常量编译失败不同作用域定义重名常量在Java中并不会报错,是因为JVM在调用该常量时,查找顺序是先找同一作用域中的常量,再找上一层作用域的常量,直到找到为止。提示Java中凡是合法的数据类型都可以定义常量,如基本数据类型、引用类型、集合类、数组等。

常量定义与重复定义的结果

常量是一种预先定义、不可以在后期运行时再做修改的固定值。常量一旦被定义后,就不能再随意改变或者取消定义。项目开发中会使用到一些固定值,比如圆周率、每天有86400秒、网站的域名等,这些固定值都可以被赋值为常量。

常量命名一般由大写字母加下划线组成。常量可以是全局的(可以在一个类文件中随处使用,也可以在其他类文件中引用),也可以是局部的(只在一个方法中定义使用)。

Java中的常量一般会使用final关键字来定义,有时也会同时使用static关键字定义一个静态的常量(static关键字会在第9章面向对象编程中进行介绍),但static不是必需的。Java中常量定义格式为:

除了开发者自行定义常量使用外,Java中自带的类文件也有大量的常量可以使用,比如前面基本数据类型中讲到的Boolean.TRUE、Integer.MAX_VALUE等,都是系统类文件自带的常量。

动手写3.5.1

其运行结果为:

图3.5.1 常量定义

常量一旦被定义,在同一作用域下不能再次修改或者被重新定义,重复的定义也不会在程序中生效。

动手写3.5.2

动手写3.5.2中,由于同一作用域重复定义常量,会提示编译出错。编译失败结果为:

图3.5.2 重复定义常量编译失败

不同作用域定义重名常量在Java中并不会报错,是因为JVM在调用该常量时,查找顺序是先找同一作用域中的常量,再找上一层作用域的常量,直到找到为止。(www.xing528.com)

动手写3.5.3

动手写3.5.3中,虽然DAY_SECOND常量在类作用域和方法内定义发生重名,但是并不会报错,其运行结果为:

图3.5.3 不同作用域常量重名定义

常量重名定义的规则也同样适用于变量

提示

Java中凡是合法的数据类型都可以定义常量,如基本数据类型、引用类型、集合类、数组等。

动手写3.5.4

动手写3.5.4中自定义了一个Person类,在另一个类文件中定义了一个类型为Person、名称为PERSON的常量,代码运行结果为:

图3.5.4 自定义引用类型常量

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈