当前位置: java基础教程 > 04-变量、表达式 > 阅读正文

变量的作用域

2021.1.27.   875 次   563字

1.概念:

作用域,可以简单的理解为有限范围

变量在同一个 {} 中,就是同一个作用域中

2.相同作用域内,变量不可重名

1.例如,下面的写法是错误的,变量a 重名了

int a = 2;
int a = 3;

2.数据类型不同,也不可以

int i =1;
String i = "i";

3.下面的变量不在同一个作用域,但 Java 局部变量不可以嵌套,故也是错误的

int a = 2;
{
  int a =3;
}

4.局部变量,可以交替重名,但不是真的重名,因为 2 个 a 不同时存在

{
	int a = 2;
}
int  a = 3;

5.Java 的不同作用域可重名,指的是类的6种内容,

  1. 成员变量
  2. 构造方法
  3. 成员方法
  4. 静态代码块
  5. 非静态代码块
  6. 子类
3.超出作用域的变量名, 不起作用

例如,下面的 a, b不在同一个作用域内,在{}外面无法获取到 b

int a = 2;
{
	int b =2;
}
System.out.println("b的值是:"+b);
4.变量重名时,以最近最小原则为准

例如下面的类中,运行say方法时, say 中的 int a 变量有效,成员变量 a 被屏蔽

public class Student {
	public static void main(String[] args) {
		Student st = new Student();
		st.say();
	}
	int  a =2;
	public void say() {
		int a = 3;
		System.out.println(a);
	}
}

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群