导航:首页 > 编程语言 > javafinalstatic

javafinalstatic

发布时间:2024-04-25 03:57:47

java中static final变量存储内存哪个区

这是一个对常量的定义,放在常量池 注意你写的不是static int MAX=9;

Ⅱ Java 中final static变量为什么要初始化

举个例子:一、一个属性成员变量为:public int age;(编写完该句意味着虚拟机已经为该成员变量age赋默认值0。int类型默认值为0。也可以直接定义时赋值,如public int age =10;。该age的值可以被赋值或者在构造方法里面进行改变)。
二、public static int age;(该句增加static修饰age,不同的是,加了static表示了该变量为全局变量,且默认取值为0,因为int默认取值为0。也可以进行直接定义时赋值public static int age =10;不同的是该属性不依赖对象、依赖类,本类对象共享一份,和上面一样该age的值一样可以被赋值或者在构造方法里面进行改变)。
三、public final int age;(该句用final单独修饰,表示该成员属性变量age将不会取int类型的默认值,故age没有被初始化,必须在定义的时候进行直接赋值,或者在创建对象的时候使用构造方法对该成员属性变量进行赋值。并且一旦用final定义后,就变为最终变量,值 不可以再被改变!所以,该句代码的正确写法应该是如下两种:1、public final int age = 10;
2、
class Dog{
public final int age;
public Dog(){
int age = 10;

}
}
)。
四、public static final int age;(该句和上面一样,也是age没有被初始化,所以age必须被赋值,不同的是该情况下必须是直接赋值,而不能在构造方法里面进行赋值。正确的写法是:public static final int age = 10;这是因为第一、用final修饰的属性不能够用数据类型的默认值为初始化的值,必须要直接赋值,或者在使用构造方法去创建对象的时候对变量进行赋值。但是,第二、由于被static修饰以后的属性成员变量,该成员变量是在类加载完的时候其值已经被确定了,该值依赖类,并不依赖对象。即使不创建对象它就已经有值了,并且由于被final所修饰不能够用数据类型的默认值,故而只能直接赋值,并且被final所修饰成为了最终变量,不可以改变。故而,由于以上两方面原因,只能是直接赋值。public static final int age = 10;)

Ⅲ java中static和final能同时修饰一个变量吗,为什么

可以。sataic表示这个变量是这个类的全体对象所共享的,一旦通过其中某个对象的引用去专改变这个变量则属其他对象再次引用这个变量时,得到的值也随之改变,因为所有的对象引用的其实是同一个内存地址的东西。而final则表示一旦定义了这个变量的值就不能再改变了,就是常量了。final和static表达的含义不同,二者并不冲突

阅读全文

与javafinalstatic相关的资料

热点内容
一部电影,一个男的收养一名女的在海边的小房子 浏览:409
2023盗版电影网站 浏览:5
男同电影男子常常给男主带绿帽 浏览:625
远大前程喝水小女孩 浏览:294
C***n 的网址分享 ¥00e831OiZw¥ 浏览:343
韩国车震片 浏览:735
重生北京收古董的小说 浏览:968
中国十大免费观看网站 浏览:980
免费看香港老电影电影网 浏览:320
最近好看的电影名字 浏览:853
活力影院儿女传奇画师 浏览:692
怀孕18年的电影叫什么名字 浏览:819
gl文下载 浏览:837
克隆qq安装系统吗 浏览:352
2016剑灵门派怎么升级 浏览:868
大数据助力传统家居产业升级 浏览:28
java转换日期格式 浏览:46
private公司作品论坛 浏览:884
前度2电影 浏览:89
看韩国伦理电影最好的app下载 浏览:976

友情链接