如有不足,多多指导。
static 可以修饰属性,方法,静态代码块
- 修饰属性:全类共有的属性,可以通过类名.属性获取
在创建对象的时候加载
2. 修饰代码块
static { }
3. 修饰方法
public static void m(){}
这里主要说下 加载时候的先后顺序
类加载顺序
1.父类静态属性/父类静态代码块 (书写的先后顺序)
2.子类静态属性/子类静态代码块 (书写的先后顺序)
3.父类实例属性/父类动态代码块 (书写的先后顺序)
4.父类构造方法
5.子类实例属性/子类动态代码块 (书写的先后顺序)
6.子类构造方法
我们通过代码来进行验证
class par{
static int pi = 4;
static {
System.out.println("父类静态代码块"+pi);
}
{
System.out.println("父类动态代码块"+pi);
}
int pj = 5;
public par(){}
}
class son extends par{
int sj = 7;
{
System.out.println("子类动态代码块"+sj);
}
static int si = 6;
static {
System.out.println("子类静态代码块"+si);
}
}
结果:
父类静态代码块4
子类静态代码块6
父类动态代码块4
子类动态代码块7
时间: 2024-12-24 03:17:34