static在java中可以修饰对象属性,而由其修饰的属性可以有以下的性质:
1.属性的创建时间会由在对象创建后创建变为在相关类加载时创建,即在写入属性时就已经创建。
那么就可以直接使用类名加属性名进行调用(由右图可知,可以正常使用且输出)而不需要引入,但引入也是可以使用的,因为本质上依然是属性;
2.属性不再是对象拥有的特征属性,而变为了共享性质的属性,即所有由此类创造的对象中static修饰的属性所包含地址是相同的,
他们都指向相同的一块内存,因此修改其中一个其他对象内的都会发生相应的变化;
3.由static修饰的属性是存储在内存的哪一种数据类型区域呢?
由于JDK版本不同有不同的存储方法,在7以上,是在定义类型Class中,而Class对象则在堆中;