类中属性赋值过程
非静态属性的赋值
可以通过:
- 默认初始化
- 显示初始化
- 构造器中初始化
- 通过
对象.属性
或对象.方法
的方法进行赋值 - 代码块中初始化
执行先后顺序:默认初始化–>显式初始化–>代码块中初始化–>构造器初始化–>通过方法进行赋值
关于字节码文件中的简单说明
可以通过jclasslib bytecode viewer查看
- 方法在字节码文件中可以看到,每个方法都对应着一个类的构造器。(类中声明了几个构造器就会有几个方法)
- 编写的代码中的构造器在编译以后就会以方法的方式呈现
- 方法内部的代码包含了实例变量的显式赋值、代码块中的赋值和构造器中的代码赋值
- 方法用来初始化当前创建的对象的信息
实际开发
给实例变量赋值的位置很多,开发中应当如何选择?
- 显示赋值:比较适合每个对象的属性值相同的场景
- 构造器赋值:比较适合于每个对象的属性值不同的场景
- 代码块赋值:代码块中赋值一般不用.