Java之成员变量和局部变量

1.成员变量

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

2.局部变量

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

    3.变量的使用规则

    • 当扩大了生存时间,这将增加更大的内存开销。
    • 当扩大了变量作用域,不利于提高软件的内聚性。
    • 当属性是描述对象的特征的时候时,如姓名,年龄,身高之类时,定义为对象变量。当属性是描述这一类特征时候,如眼睛个数(一般这类都一致的属性),定义为类变量。
    • 创建一个对象的过程
            Person person1 = new Person();
            Person person2 = new Person();
    
    • 当一行代码执行时:首先加载这个类进入内存,为这个类的类变量分配内存空间并指定默认初始值,当Person类完成初始化后,系统为这个Person类分配一块内存区(当Person类初始化完成后,系统会为Person类创建一个类对象,这个内存区含有这个类变量的),系统接着创建了一个Person对象,并将这个Person对象赋值给person变量,Person对象中含有对象成员变量。
    • 当第二行代码执行时:此时因为Person类已经存在于堆内存中了,所以不用初始化Person类。剩下的与第一行执行时无异。
      -在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java成员变量局部变量是两种不同的变量类型。成员变量分为实例变量和静态变量。实例变量是指不使用static修饰的变量,而静态变量使用static修饰的变量局部变量则包括方法内声明的变量、方法的形参、构造器的形参和代码块内声明的变量。 尽管直接定义成员变量可以解决问题,但过多地使用成员变量会使程序变得混乱。成员变量的作用域和生命周期更大,不利于程序的内聚性,并且会带来更多的开销。因此,在可能的情况下,应该尽量使用方法局部变量而不是成员变量使用代码块局部变量而不是方法局部变量。 具体来说,成员变量可以细分为实例变量和类变量。实例变量属于对象,每个对象都会有一份独立的实例变量。而类变量属于类,所有对象共享同一个类变量的值。局部变量可以细分为形参、方法局部变量和代码块局部变量。形参是方法或构造器的参数,方法局部变量是在方法内部声明的变量,而代码块局部变量是在代码块内部声明的变量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java--成员变量局部变量](https://blog.csdn.net/m0_46151790/article/details/128323904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [JAVA成员变量局部变量(详解)](https://blog.csdn.net/qq_983030560/article/details/130895152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值