Java之成员变量和局部变量

1.成员变量

  • 成员变量是指在类中定义的变量
    • 成员变量又分为实例变量和类变量。其中类变量是用static修饰,实例变量不由static修饰。
    • 类变量与类共存亡,而实例变量与实例对象共存亡。当类加载时,类变量就被创建,类变量的作用域与类的生存范围相同;当实例对象被创建时,实例对象就被创建,直到实例对象被销毁。
    • 一个类在使用之前要经过类加载,类验证,类准备,类解析,类初始化几个阶段。

2.局部变量

  • 局部变量分为三种:
    • 形参:在定义方法签名时定义的变量,形参的作用域在整个方法中有效。
    • 方法局部变量:在方法体中定义的变量,作用域为整个方法。
    • 代码块局部变量:在代码块中定义的变量,作用域为整个代码块。
      在这里插入图片描述

    3.变量的使用规则

    • 当扩大了生存时间,这将增加更大的内存开销。
    • 当扩大了变量作用域,不利于提高软件的内聚性。
    • 当属性是描述对象的特征的时候时,如姓名,年龄,身高之类时,定义为对象变量。当属性是描述这一类特征时候,如眼睛个数(一般这类都一致的属性),定义为类变量。
    • 创建一个对象的过程
            Person person1 = new Person();
            Person person2 = new Person();
    
    • 当一行代码执行时:首先加载这个类进入内存,为这个类的类变量分配内存空间并指定默认初始值,当Person类完成初始化后,系统为这个Person类分配一块内存区(当Person类初始化完成后,系统会为Person类创建一个类对象,这个内存区含有这个类变量的),系统接着创建了一个Person对象,并将这个Person对象赋值给person变量,Person对象中含有对象成员变量。
    • 当第二行代码执行时:此时因为Person类已经存在于堆内存中了,所以不用初始化Person类。剩下的与第一行执行时无异。
      -在这里插入图片描述
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页