Java基础之 final static
1、实例对象
我们知道Java实例化对象常用的几种方式实现:
- new Object(构造函数Constructor) ;
- Class类的newInstance 最终也走的第3点;
- 构造函数Constructor的newInstance;
- 当然还有别的,比如 clone,反序列化等…
2、最常用的new Object()执行过程是啥呢
-
1)、加载类到方法区
加载/验证/准备/解析/初始化/执行静态变量赋值/执行静态代码块;
-
2)、为new对象开辟一块内存空间
-
3)、对象属性初始化
所有属性设置成默认值(数字为 0,字符为 null,布尔为 false,而所有引用被设置成 null)
-
4)、属性赋值 private int a = 3; // =3 属性赋值
3、static 修饰符
- 1)、static修饰的属性属于类
- 2)、在加载类时会初始化static修饰的属性
4、final 使用在对象属性上赋值方式
- 1)、属性上直接 等于什么什么
- 可以是一个常量
- 可以是一个对象方法
- 2)、通过构造函数赋值
5、final 饮用在一个基本数据类型
- 值是不可变的;
6、final 饮用在一个引用数据类型
- 值属性能改,但是指针引用不能修改;