static关键字
static 修饰的⽅法或变量,优先于对象执⾏,所以内存有会现有 static修饰的内容,后有对象的内容
可以⽤来修饰类的成员⽅法、类的成员变量,还可以编写static静态代码块
修饰变量就是类变量,修饰⽅法就是类⽅法
INFO
总结: 类变量或者类⽅法,可以直接通过类名.⽅法名或者变量名进⾏调⽤,不⽤经过对象
1 | public class Student{ |
static变量也称作静态变量
1.和⾮静态变量的区别是,静态变量被所有的对象所共享,在内存中只有⼀份,它当且仅当在
类初次加载时会被初始化。⾮静态变量是对象所拥有的,在创建对象的时候被初始化,存在
多个副本,各个对象拥有的副本互不影响
2.static成员变量的初始化顺序按照定义的顺序进⾏初始化
static⽅法也称作静态⽅法
1.不依赖于任何对象就可以进⾏访问,类名.⽅法名
2.不能访问类的⾮静态成员变量和⾮静态成员⽅法
注意事项:
1.静态⽅法不能直接访问⾮静态变量
2.静态⽅法当中不能使⽤this
INFO
核⼼:⼀个类⾥⾯ static修饰的不能访问⾮static修饰的成员或者⽅法,⽽⾮static修饰的可以
访问static修饰的成员或者⽅法
1 | //静态变量 |
静态代码块
1.加载类的时候,静态代码块会被执⾏⼀次,且只能执⾏⼀次
2.静态内容优先于⾮静态内容,所以静态代码⽐构造⽅法先执⾏
3.使⽤场景:⽤来⼀次性对静态成员变量进⾏赋值,或者类资源初始化等操作
1 | public class 类名{ |
说些什么吧!