构造器/构造方法
主要作用是在创建对象时,完成对象的初始化;没有返回值,也不能写void;构造器也可以重载
javap
-
javap是JDK提供的一个命令行工具,javap能对给定的class文件提供的字节码进行反编译
-
通过它可以对照源码和字节码,从而了解很多编译器内部的工作
-
javap 类名.class
对象创建流程分析
class Person{
int age = 90;
String name;
Person(String n, int a){
name = n;
age = a;
}
}
Person p = new Person("小倩", 20);
方法区加载Person类信息
堆中开辟对象空间
默认初始化,age为0,name为空
显示初始化,age赋值90
构造器初始化,name指向小倩(在常量池),age赋值为20
p指向对象地址
this
java虚拟机会给每个对象分配this,代表当前对象。实际上this就是一个引用,指向对象地址