【Java开发】Java基础全体系入门第24篇:2. 对象内存图,3. 成员变量和局部变量【附代码文档】

44 阅读1分钟

🚀🚀🚀本篇主要内容

2. 对象内存图

2.1 单个对象内存图【理解】

*

2.2 多个对象内存图【理解】

*

* 总结:

多个对象在堆内存中,都有不同的内存划分,成员变量存储在各自的内存区域中,成员方法多个对象共用的一份

2.3 多个对象指向相同内存图【理解】

WireMock 文档

* 总结 :

当多个对象的引用指向同一个内存空间(变量所记录的地址值是一样的)

3. 成员变量和局部变量

3.1 成员变量和局部变量的区别

* **类中位置不同:**成员变量(类中方法外)局部变量(方法内部或方法声明上) * **内存中位置不同:**成员变量(堆内存)局部变量(栈内存) * **生命周期不同:**成员变量(随着对象的存在而存在,随着对象的消失而消失)局部变量(随着方法的调用而存在,醉着方法的调用完毕而消失) * **初始化值不同:**成员变量(有默认初始化值)局部变量(没有默认初始化值,必须先定义,赋值才能使用)

4. 封装

4.1 private关键字

概述 : private是一个修饰符,可以用来修饰成员(成员变量,成员方法)

特点 : 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用, 提供相应的操作

​ 提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰

​ 提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰

示例代码:

/*
    学生类
 */
class Student {
    //成员变量
    String name;
    private int age;

    //提供get/set方法
    public void setAge(int a) {
        if(a<