Java中的常量

常量变量是其值固定的变量,程序中仅存在一个副本。声明常量变量并为其分配值后,就无法在整个程序中再次更改其值。

与C语言不同,Java(直接)不支持常量。但是,您仍然可以通过声明变量static和final来创建常量。一旦声明了一个静态变量,它们将在编译时加载到内存中,即只有一个副本可用。

声明变量final后,就无法再次修改其值。

示例class Data {

static final int integerConstant = 20;

}

public class ConstantsExample {

public static void main(String args[]) {

System.out.println("value of integerConstant: "+Data.integerConstant);

}

}

输出结果value of integerConstant: 20

Java中的最终变量

声明变量final后,就无法更改其值。如果尝试这样做,将会生成编译时错误。

示例public class FinalExample {

public static void main(String args[]) {

final int num = 200;

num = 2544;

}

}

输出结果FinalExample.java:4: error: cannot assign a value to final variable num

num = 2544;

^

1 error

final变量和常量(静态和final)之间的主要区别在于,如果创建不带static关键字的final变量,尽管其值不可修改,但每次创建新对象时都会创建该变量的单独副本。如果常量不可修改,并且整个程序中只有一个副本。例如,请看以下Java程序,

示例class Data {

final int integerConstant = 20;

}

public class ConstantExample {

public static void main(String args[]) {

Data obj1 = new Data();

System.out.println("value of integerConstant: "+obj1.integerConstant);

Data obj2 = new Data();

System.out.println("value of integerConstant: "+obj2.integerConstant);

}

}

输出结果value of integerConstant: 20

value of integerConstant: 20

在这里,我们创建了一个最终变量,并尝试使用两个对象来打印其值,因为在两个实例中该变量的值都相同,因为我们为每个变量使用了一个不同的对象,它们是实际变量的副本。

根据常量的定义,您需要在整个程序(类)中具有变量的单个副本。

因此,要创建常量作为pert定义,需要将其声明为static和final。

java中为什么需要常量和变量的区别_Java中常量和最终变量之间的区别?相关推荐

  1. java c++的区别_Java语言与C、C++之间的区别?

    小伙伴你知道吗?Java是由C++开发而来的,并且在当时一直被搁置.随着Java语言的崛起那么Java和C/C++有什么不同和相同之处呢? 通过上述我们知道那Java前身是C++,并且保留了C++的大 ...

  2. java中为什么需要常量和变量的区别_Java中的变量和常量

    1.变量(variable) 变量,顾名思义,就是变化的量. 我们可以通过变量来操作存储空间中的数据,变量就是指代这个存储空间,一旦你定义了一个一个变量,那么空间的位置就确定了,虽然空间位置是确定的, ...

  3. java中的常量和变量是什么_java中什么是常量和变量

    一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2 ...

  4. java常量能改变值吗_java中的常量和变量

    变量 含义:在程序过程中变量的值会发生变化,直白来说就是用来存储可变化的数据 变量的好处:使内存空间的得到重复利用 举个例子: 1 System.out.println(10);2 System.ou ...

  5. java变量存储位置_java 中变量存储位置的区别

    [原文] 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量 ...

  6. java中静态变量的作用_Java中static变量作用和用法详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  7. java中如何实现变量可配置_Java基础-如何配置环境变量

    Java环境变量详细教程 第一步.打开电脑环境变量设置窗口 以Win10系统为例子. 在桌面找到此电脑,右键此电脑- ->属性,点击属性- ->点击左侧高级系统设置 点击高级系统设置 点击 ...

  8. java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析

    本文实例分析了java中成员变量与局部变量区别.分享给大家供大家参考.具体分析如下: 成员变量:在这个类里定义的私有变量,属于这个类. 创建以及使用成员变量 public class Person { ...

  9. java的三个环境变量是啥_JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)...

    JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...

最新文章

  1. byte数组添加数据_数据类型
  2. 在文本每一行的行首和行尾都插入特定的相同字符或文本
  3. windows(xshell)免密码登录
  4. LR(1)分析表-语法树-四元式
  5. 平安保险基于 SPI 机制的 RocketMQ 定制化应用
  6. Electron中提示:Refused to execute inline event handler because it violates
  7. 福利 | 闷骚的程序员是如何讲冷笑话的?
  8. 波士顿动力机器狗解锁“自动驾驶”,会跑步的Atlas真的很稳
  9. 990. 等式方程的可满足性
  10. 一个方法解决Warning: Permanently added 'gitee.com,180.97.125.228' (ECDSA) to the list of
  11. cmake安装mysql
  12. Linux下 <用户名> 不在 sudoers 文件中。此事将被报告。
  13. mysql并行读写_mysql数据库大规模数据读写并行时导致的锁表问题
  14. 做情绪的主人,痛苦是人生的催化剂
  15. 魅族mx4服务器无响应,魅族MX4刷机失败解决方法
  16. 互联网信息服务安全评估报告
  17. 【翻译】Qt撤销/回撤框架概述
  18. Reading Comprehension必读paper汇总
  19. 网络与信息安全顶级期刊与会议
  20. 新网站对SEO工作内容简介

热门文章

  1. linux nand 坏块_NAND Flash的坏块管理设计
  2. C语言之字符串探究(九):空格去除——trim系列
  3. linux 中添加kvm虚拟化,在 Centos7 的KVM上启用嵌套虚拟化
  4. oracle存储一个数字格式,Oracle根本数据类型存储格式研究(二)—数字类型
  5. php urledcode_攻防世界 php 2 函数urldecode 使用说明
  6. mysql 取第一条_MySQL索引底层(一)索引底层原理
  7. java 307跳转_java – failure:retrofit.RetrofitError:307临时重定向?
  8. 计算机科学中抽象的作用,抽象释义
  9. SpringBoot @SpringBootApplication
  10. mysql 分组group