概念
java的域:'域’的概念来源于翻译‘field’,其意义是指属性
静态域:被static修饰的属性,属于类
实例域:是实例化对象的属性
说明
每个实例都有自己的实例域,但是共用一个静态域
例:
class User {
private int id;
private static int companyId=1;
}
User类每被实例化一次,该实例都可以有自己id域(实例域),但是所有的实例只有一个companyId域(静态域)
Java中类的初始化顺序
1、默认赋值
2、父类的静态域、静态块(按顺序执行,如果静态域在静态块前就先执行静态域,反之先执行静态块)
3、该类的静态域、静态块(按顺序执行,如果静态域在静态块前就先执行静态域,反之先执行静态块)
4、父类的实例域、实例块(按顺序执行,如果实例域在实例块前就先执行实例域,反之先执行实例块)
5、父类的构造器赋值
6、该类的实例域、实例块(按顺序执行,如果实例域在实例块前就先执行实例域,反之先执行实例块)
7、该类的构造器赋值