对象的内存存储
- 对象在创建的时候是在栈中存储的地址引用,在堆中存储的实际对象(凡是new出来的东西都存在堆中)
- 对象在内存中存储的时候,各项的属性都会进行赋值,byge ,short,int,long类型默认值 0
boolean类型的默认值false, float,double默认值类型0.0 char默认值'\u0000',引用数据类型默认值 null
- 对象在传值的时候传的是地址
四、this关键字
- 因为在Java中所有的非静态方法和属性都是通过对象来调用的,而在本类中如果想要调用奔雷的方法或者属性,并没有本类的对象,所以要使用this关键字来表示当前类的独享,调用当前类的属性和方法
- this表示当前对象的引用,可以认为是一个虚拟的对象,用在类中调用本类中的非静态方法和非静态属性
- this语句表示在本类的构造方法中调用本类其他形式的构造方法,需要注意的是,this语句块必须放在构造方法第一行的位置
五、代码块
- 构造代码块
- 所谓的构造代码块指的是定义在类内用{}抱起来的代码,也称之为初始化代码块
- 无论调用哪个构造方法,构造代码块都会被执行
- 构造代码块是在创建对象的时候优先于构造方法执行的
- 局部代码块
- 所谓的局部代码块,是指定义在方法中用{}包起来的代码
- 作用是限制变量的生命周期从而提高栈的利用效率