笔试题目一:为什么对于一个public类型的终态的成员变量,一般都要声明为static?例如:public static final String name = "abc"
答案:为了节省内存,因为final修饰的所以意味着这个变量只能够被读取而不能够被写,在这前提下假如一个类有100个对象,我无法对其中一个对象的name修改值从而影响到其它99个对象,因为它只能读取。确切的说,既然只能读取那么如果只用final修饰那么意味着100个对象中都要为该final变量开辟内存空间,并且每个对象的这个属性值都是一样的,这没必要,如果用static来修饰那么100个对象会共享这属性,而这个属性只会分配一份内存空间。
网友评论