2026/5/21 17:21:30
网站建设
项目流程
哪里有网站建设电话,高陵网站建设,高台县建设局网站,吉祥又成功的公司名字一、什么是成员变量#xff0c;什么是局部变量
1、成员变量
成员变量分为实例变量#xff08;如果没有static修饰#xff09;或 类变量#xff08;有static修饰#xff09;#xff0c;定义在类内部、方法外部的变量#xff0c;属于类或对象的属性。
2、局部变量
定义…一、什么是成员变量什么是局部变量1、成员变量成员变量分为实例变量如果没有static修饰或 类变量有static修饰定义在类内部、方法外部的变量属于类或对象的属性。2、局部变量定义在方法内部、方法参数列表、代码块for、if)的变量属于临时变量。二、核心区别2.1 作用域生效范围成员变量实例变量作用域是整个对象只要对象不被销毁在类的任意非静态方法中都能够直接访问注意访问权限修饰符类变量作用域是整个类通过类名.变量名就可以在任何地方访问甚至不需要创建对象。局部变量作用域仅限定义它的代码块比如方法内定义的变量只能在方法内使用if 代码块内的变量出了 if 就会失效超过作用域后变量就会被销毁无法访问。2.2 默认值面试常考踩坑点成员变量不管是实例变量还是类变量JVM 都会自动赋予默认值不同数据类型的默认值如下整数类型byte/short/int/long): 0浮点类型float/double): 0.0布尔类型boolean): false引用类型String、对象等 null局部变量JVM 不会给局部变量赋默认值必须手动初始化后才可以使用否则会直接编译报错2.3 内存位置底层原理成员变量实例变量存储在堆内存中类变量存储在方法区JDK8后是元空间中局部变量存储在栈内存的方法栈帧中2.4 生命周期存在时长成员变量实例变量生命周期和对象一致对象被GC 回收的时候实例变量才会被销毁类变量 生命周期和类一致从类加载到 JVM直到类被卸载类变量一直存在局部变量生命周期和代码块/方法的执行周期一致方法开始执行时创建方法执行结束或代码块执行完毕后立即被销毁无法复用。三、开发中常见的错误场景场景 1局部变量遮蔽成员变量 (变量遮蔽当局部变量和成员变量重名的时候局部变量会遮蔽成员变量此时如果想要访问成员变量只需要使用this 关键字实例变量或类名类变量场景 2局部变量的作用域混淆新手容易在嵌套代码块中误用局部变量比如在for 循环内定义的变量出了循环就无法访问。