关于java中的static修饰的变量

 

staticjava中可以修饰对象属性,而由其修饰的属性可以有以下的性质:

1.属性的创建时间会由在对象创建后创建变为在相关类加载时创建,即在写入属性时就已经创建。

那么就可以直接使用类名加属性名进行调用(由右图可知,可以正常使用且输出)而不需要引入,但引入也是可以使用的,因为本质上依然是属性;

2.属性不再是对象拥有的特征属性,而变为了共享性质的属性,即所有由此类创造的对象中static修饰的属性所包含地址是相同的,

他们都指向相同的一块内存,因此修改其中一个其他对象内的会发生相应的变化;

3.由static修饰的属性是存储在内存的哪一种数据类型区域呢?

由于JDK版本不同有不同的存储方法,在7以上,是在定义类型Class中,而Class对象则在中;

原文地址:https://www.cnblogs.com/makise/archive/2022/08/12/16563164.html