static关键字
static单词的意思为“静态的”,可以用来修饰成员变量(类变量)和成员方法(类方法),
调用方式:类名.成员变量名, 类名.成员方法名(参数);
- 修饰成员变量:被该类下所有对象共享;
- 修饰成员方法(静态方法):静态方法是没有this,所以不能访问非静态成员;
- 修饰成员方法使用场景:只需要访问静态成员;不需要访问对象状态,所需参数都有参数类表显示提供。
static静态代码块:首先,static{}(静态代码块)在程序加载中static是先于构造方法加载的,并且只会加载一次。
另外static块中只能使用static修饰的属性。
执行顺序:
- 静态代码块随着类加载而加载;
- 有多个静态代码块的,按代码块前后顺序加载;
- 一个代码块,只执行一次
静态代码块示例:
public class User implements Serializable {
private static final long serialVersionUID = 1L;
public static List<String> names;
static {
names = new ArrayList<>();
names.add("阳敌");
names.add("郭襄");
}
}