static
static修饰变量【静态/类变量】
定义格式: static 数据类型 变量名;
使用格式:
类名.变量名【推荐】
对象名.变量名【不推荐】
特点:
- 加载时机上:随着类的加载而加载,加载一次,优先于对象而存在
- 内存角度:只有一份,被所有的对象共享的
应用场景:
如果我们希望所有的对象共享同一份数据【 系统人数的统计,ATM用于存放用户的集合 】
static修饰方法【静态/类方法】
定义格式:
public static 返回值类型 方法名(数据类型 变量名 , 数据类型 变量名... ){
}
调用格式:
- 类名.方法名(值..); 【推荐】
- 对象名.方法名(值...);
使用场景:
工具类:
- 1. 构造器私有
- 2. 方法都是静态方法
static的注意事项:
- 静态方法只能访问静态成员,不能访问实例成员
- 实例方法,可以访问静态成员,也可以访问实例成员
- 静态方法中不能使用this,实例方法可以使用this
static修饰代码块
格式:
static{
}
执行流程:
- 类加载的时候会主动执行,而且只会执行一次
作用:
- 对类中的静态成员变量,进行初始化/赋值