成员变量与局部变量在作用域及默认初始化值区别

陌丽小哥_4769

陌丽小哥_4769

2026-03-23

505人浏览

原创

成员变量作用域为整个类且有默认初始化值,局部变量作用域限于代码块且必须显式初始化;同名时局部变量优先,成员变量需用this访问;成员变量可加多种修饰符,局部变量仅支持final。

成员变量与局部变量在作用域及默认初始化值区别

作用域范围不同

成员变量定义在类体内部、所有方法之外,整个类中任意位置(包括方法、构造器、代码块)都能直接访问。比如 private String name; 写在类开头,所有实例方法里都能用 name。

局部变量只存在于方法体内、形参列表、for/while循环、if语句块等花括号 {} 包裹的范围内。一旦离开这个作用域,变量就不可见。例如 void print() { int x = 5; } 中的 x,出了 print() 方法就无法使用。

默认初始化值要求不同

成员变量有系统自动赋予的默认值:基本类型如 int 默认为 0,boolean 默认为 false,引用类型默认为 null。即使不写赋值语句,也能直接读取或参与运算。

局部变量没有默认值。必须在声明后、首次使用前显式赋值,否则编译报错:"variable might not have been initialized"。例如 int y; 后不写 y = 10; 就调用 System.out.println(y);,编译器会拒绝通过。

同名时谁优先?

当方法内定义了与成员变量同名的局部变量,比如类里有 String title;,方法中又写 String title = "Java";,那么该方法内所有未加 this. 的 title 都指局部变量——这是就近原则。

若想访问被遮蔽的成员变量,需显式用 this.title。

修饰符限制也体现作用域本质

成员变量可加 public、private、static、final 等修饰符,因为它的作用域跨越多个方法,需要访问控制和共享策略。

局部变量只能用 final(表示不可重新赋值),不能加 public、static 等——它本就不对外暴露,也不属于类结构的一部分。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2440

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

229

24

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.02

5439

3

java中boolean的用法
java中boolean的用法

在Java中,boolean是一种基本数据类型,它只有两个可能的值:true和false。boolean类型经常用于条件测试,比如进行比较或者检查某个条件是否满足。想了解更多java中boolean的相关内容,可以阅读本专题下面的文章。

2023.11.13

2090

6

java boolean类型
java boolean类型

本专题整合了java中boolean类型相关教程,阅读专题下面的文章了解更多详细内容。

2025.11.30

143

8

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

2023.09.22

529

3

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

2024.03.01

1658

6

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.02

5439

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习