java面试关键字static

2018-03-25  本文已影响0人  pr0metheus

笔试题目一:为什么对于一个public类型的终态的成员变量,一般都要声明为static?例如:public static final String name = "abc"

答案:为了节省内存,因为final修饰的所以意味着这个变量只能够被读取而不能够被写,在这前提下假如一个类有100个对象,我无法对其中一个对象的name修改值从而影响到其它99个对象,因为它只能读取。确切的说,既然只能读取那么如果只用final修饰那么意味着100个对象中都要为该final变量开辟内存空间,并且每个对象的这个属性值都是一样的,这没必要,如果用static来修饰那么100个对象会共享这属性,而这个属性只会分配一份内存空间。

上一篇下一篇

猜你喜欢

热点阅读