static关键字:是用于修饰成员属性和成员方法的一个关键字
static修饰属性:
(一)static修饰属性效果特性:
1、全类共享一个值
2、与对象无关,而是与类有关,所有static的属性又被称为类属性,可以直接用类名.的方式直接操作(当然要受访问修饰符的限制)
3、常量属性可以无脑定义为static
(二)static修饰属性内存特性:
1、该属性不会存放在对象身上,而是被放到数据段的静态区当中,全类中只放一份
2、static修饰属性是在类加载的时候放入静态区的,所以可以直接使用类名.的方式直接使用无需产生对象
(三)static修饰的属性对应的场景
1、决不能因方便调用就把属性设计为static
2、变量属性必须判断出要有全类共享唯一值这个特性才能这么做
static修饰方法
(一)static修饰方法的效果
1、既可以用类名.的方式也可以用对象名.的方式访问
2、静态方法只能操作静态属性或调用其他静态方法,非静态方法全都可以操作
(二)static修饰方法的内存机制
1、在内加载期间static修饰的方法或属性会先加载然后再加载非static的方法或属性,导致了在加载static的内容时还不知道非static内容的存在所以静态方法只能操作静态属性或调用其他静态方法。
(三)static修饰方法在设计上:
1、只有操作跟对象无关的方法才能设计为static
2、在实际设计中,只有工具类的工具行为才设计为static
★ static不能修饰构造方法,因构造方法和对象有关
★★总结static的用法共性:
1、一定和对象无关,和类有关
2、一定会在加载期有特殊操作
时间: 2024-12-11 12:28:10