private关键字:
![](https://i-blog.csdnimg.cn/blog_migrate/e5e227a0b9e0a59b743ffc3ab6aa2312.png)
成员变量和局部变量:
![](https://i-blog.csdnimg.cn/blog_migrate/09fed93ba51a95a05eddd03233d9b26f.png)
变量的就近原则:
![](https://i-blog.csdnimg.cn/blog_migrate/ffd177ebb8f8de1508d5df01a077cea8.png)
this关键字:
![](https://i-blog.csdnimg.cn/blog_migrate/21f7d13c75b4666f4c2e661403f9505d.png)
this关键字调用的是成员变量中的age;
构造方法:
![](https://i-blog.csdnimg.cn/blog_migrate/618f4b213a38f3327c313dbc8cc28fb9.png)
与方法不同,构造方法没有返回值;在创建对象时,虚拟机会自动调用构造方法;其主要是对成员变量进行初始化;
构造方法的注意事项:
![](https://i-blog.csdnimg.cn/blog_migrate/4d2b55a68a06fa93ccb04542dcc58db1.png)
两种构造方法的区别:
![](https://i-blog.csdnimg.cn/blog_migrate/387cc10096f1d606a396b4148bdeaf68.png)
一个对象的内存图:
![](https://i-blog.csdnimg.cn/blog_migrate/5da949c5f8ebc4cdcf2052ecaaca523a.png)
如果是new两个对象,那么就会在堆区开辟两个互相独立的空间;
两个引用指向同一个对象:
![](https://i-blog.csdnimg.cn/blog_migrate/ff4d44c5d5378bf91c93a15b0bf75de8.png)
两个引用共用一个堆内存,会导致互相影响;stu1==null操作会将指针切断,输出stu1会提示空指针异常;
this的内存原理:
![](https://i-blog.csdnimg.cn/blog_migrate/2dffb43af5fcea3ce3f51cf3bc03d91a.png)
成员变量与局部变量的区别:
![](https://i-blog.csdnimg.cn/blog_migrate/3eecbdba4b02687d252a01b5b729b14d.png)