方法在内存中的活动
- 通过类加载器将类生成的.class文件加载到内存的方法区中
- 调用main方法,在栈内存中为main方法分配空间,再执行main方法
- 调用main方法中调用其他方法的语句,在栈内存中为该方法分配空间(栈中发生压栈)
- 执行其他方法中的语句,比如在其他的方法中有实例化对象的语句
- 先在栈内存中声明一个该对象的对象名,再使用new关键字调用构造方法在堆中开辟一个空间,再利用无参构造方法为放在堆内存的对象赋默认值对象创建好后,将对象在堆中的地址给在栈中的对象名使用,即指向
- 方法执行完后,方法弹栈
- 返回到main方法中,在执行其他调用方法的语句
- main方法执行完后,main方法弹栈
实例化与初始化
在创建对象时有两个关键:实例化和初始化
实例化:在栈中声明对象,在堆中初始化对象,再给对象赋默认值
初始化:给对象赋初值,即给对象赋你想赋的值