您的位置:首页 > 编程语言 > Java开发

Java心得体会之常量

2016-07-27 19:36 169 查看
    Java中的常量主要分为两类一种是我们平时说的123,3.12,"asdw",true,‘C’等,这些值本身我们称呼它们为常量,另一种是我们自己用final定义的赋值之后不能修改的常量,这种常量根据确定值得时间不同分为编译时常量和运行时常量,顾名思义,编译时常量就是指在编译的时候就可以确定值的常量,如 final int a = 12;final string ab="qwe";这种就是出于编译时常量,另外如:final string c = "qwe".length();这种就是运行时常量或者final
int a;然后 a 在构造函数中进行赋值,这时a也是运行时常量。

    常量的存储位置 一般为方法区中的常量池,但也并不是绝对。string类型的运行时常量就并不是放在字符串常量池中,而是放到堆中。

    想要确定一个常量是运行时常量还是编译时常量很简单,找到目标class文件反编译,看反编译的文件中调用常量的时候显示的是常量的值还是引用,如果是值那就说明是编译期常量,是引用那就是运行时常量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: