//构造器的核心作用是初始化类对象
1.构造器通过new来调用
2.构造器的名字必须和类名一致
3.构造方法也是方法,同样可以方法的重载(构造器是特殊的方法)
4.如果没有构造器则系统会默认一个无参构造器
5.构造器虽然有返回值但是不能自己定义返回值,返回值的类型为本类
//构造器是对属性进行赋值,并不是初始化对象,赋值的时候对象已经在堆里面开辟好空间了
//注意,自己定义了构造器就已经覆盖了默认构造器,如果想传入无参的需要自己再定义一次
创建对象的四大步和构造方法调用关系
1.分配对象空间,将对象是变量初始化城0或者null
2.执行属性值的显式初始化
3.执行构造方法,初始化对象
4.反回对象的地址,给相关的变量
this关键字
对象的堆中创建的时候会有一个隐藏的属性,这个属性就是this
this的类型是当前对象的类型,存储的地址是当前对象的地址
哪个对象里去调用this,那this就代表哪个对象
this的注意事项和使用细节
1.this只能在类定义的方法中使用
2.this可以访问类的属性,方法,和构造器
(1)访问方法:this.fun();
(2)访问构造器:this.Constructor();
//注意,this访问其他构造器的时候,只能在构造器中使用,且只能放在当前构造器内的第一行
3.this用于区分当前类的属性和局部变量