9.30-对象在内存中的实例化过程与final关键字

对象在内存中的实例化过程

Person p = new Person();
  1. JVM会读取指定路径下的Person.class文件,并加载进内存中,并先会加载Person的父类(如果有直接父类的情况下)

  2. 在堆内存中开辟空间,分配地址

  3. 在对象空间中,对对象的属性进行默认初始化

  4. 调用相对应的子类构造器

  5. 在子类构造器,第一行会先调用父类中的构造器进行初始化

  6. 父类构造器初始化完毕后,再进行子类属性的显示初始化

  7. 再进行子类构造器的特定初始化

  8. 初始化完毕后,将地址值赋值给引用变量

final关键字

final是一个修饰符,可以修饰类、方法、变量

final修饰的类不可以被继承

final修饰的方法不可以被覆盖

final修饰的变量值是一个常量,只能赋值一次

成员变量一旦被final修饰之后就是固定不变的,是所有对象能够共享资源,所以一般都会加static一同修饰

最后更新于