1.java 类名,这是个运行.class文件的程序,这个类开始进入方法区的.class文件区,包括成员变量和成员方法,成员方法会分配一个地址.
2..class加载完成后,mian()方法进栈,随着另一个类创建对象,这个类的.class文件也被加载.class文件区中,然后这个类的局部变量进栈,堆内存中也开辟了一片空间,并且给这片空间分配了一个地址.对象开始进行默认初始化.默认初始化完成后,把地址赋给栈中的局部变量,这个局部变量就指向了堆内存的对象.
对象中的方法加载过程:.class文件区中的方法把地址给了对象,相当于对象只保留方法的地址,然后对象中就指向了.class文件中的方法信息.
3.对象调用成员变量 方法的过程:
对象调用成员变量为其赋值,有两种方法:
一个是成员变量未被封装,通过对象.变量名直接对其赋值.
另一个是当成员变量被封装后.
在无参数的构造方法中,通过setXxx(参数列表)/getXxx()方法进行对成员变量的赋值 取值操作.
在有参数的构造函数中,通过参数列表传值,再通过赋值操作,即可完成对对象的赋值.如果发生局部变量覆盖成员变量的时候就用this关键字代表当前对象. |
|