学习笔记day07

学习笔记day07
构造函数在内存中的情况学习笔记day07
学习笔记day07
进入主函数后,栈内建立对象p2, 执行等号右边,在堆内建立Person类,里面包括属性name,和age,对其进行初始化。
之后调用构造函数Person,所以构造函数Person在入栈。将小强和10传入构造函数。
这时,构造函数再将n,a传入调用它的对象即p2这个堆内的对象中,而此时n是“小强”,a是10。
最后,再将00x45这个地址给p2进行指向。(这个00x45是这个类对象的首地址值,实际上它是占用了一片地址。)然后构造函数Person弹栈。第一句话执行完毕。
注意:这里面牵扯两个初始化,一个是默认初始化,一个是构造函数初始化。

学习笔记day07
学习笔记day07
speak里面的name,age其实前面省略了this. 因为里面并没有定义局部变量,所以引用的是对象的。之前省略是因为n和name不重名。但为了有意义,还是要把n改为name,name就要用到this。

学习笔记day07学习笔记day07
country是共享的数据,而name是特有的数据。所以可以用static来修饰就变成了共享。共享数据在对象之前出现。被静态修饰的对象不仅可以被对象调用,也可以被类名调用。因为没对象时就已存在,这时候可以用类来调用。