static
- 修饰词:静态
静态属性VS非静态属性
- 静态属性调用
- new对象进行调用:Student s1 = new Student();s1.age
- 类名调用:Student.age
- 非静态属性调用
- new对象进行调用:Student s1 = new Student();s1.age
- 不能类名直接调用
静态方法VS非静态方法
- 静态方法调用(静态方法与类一同加载)
- new对象进行调用:Student s1 = new Student();s1.go()
- 类名调用:Student.go()
- 直接调用:go()
- 非静态方法调用:可以调用静态方法
- new对象进行调用:Student s1 = new Student();s1.go()
- 不可以类名调用
- 不可以直接调用
隐藏代码块
-
静态隐藏代码块:static{方法体}
- 与类同时加载,优先级最高,最先执行
- 仅第一次加载类执行一次
-
隐藏代码块:{方法体}
- 优先级低于静态隐藏代码块
- 每次加载类都执行,可用于赋初始值
-
构造器:优先级低于隐藏代码块
静态导入包
-
import static java.lang.Math.random;
-
导入后可以直接使用