Java变量的作用范围
2017-08-05 20:58
309 查看
Java 变量的作用范围有四个级别:类级、对象实例级、方法级、块级。
类级变量又称全局级变量,在对象产生之前就已经存在,就是用 static 修饰的属性。
对象实例级,就是属性变量。
方法级:就是在方法内部定义的变量,就是局部变量。
块级:就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如 if、for 语句的块。
示例如下:
public class Test {
private static String name = “Java快车”;// 类级
private int i; // 对象实例级,Test类的实例变量
{// 属性块,在类初始化属性时候运行
int j = 2;// 块级
}
public void test1() {
int j = 3;// 方法级
if (j == 3) {
int k = 5;// 块级
}
// 这里不能访问块级的变量,块级变量只能在块内部访问
System.out.println(“name=” + name + “,i=” + i + “,j=” + j);
}
public static void main(String[] args) {
Test t = new Test();
t.test1();
Test t2 = new Test();
}
}
运行结果:
name=Java 快车,i=0,j=3
说明:
方法内部除了能访问方法级的变量,还可以访问类级和实例级的变量。
块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。
方法级和块级的变量必须被显示地初始化,否则不能访问。
类级变量又称全局级变量,在对象产生之前就已经存在,就是用 static 修饰的属性。
对象实例级,就是属性变量。
方法级:就是在方法内部定义的变量,就是局部变量。
块级:就是定义在一个块内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如 if、for 语句的块。
示例如下:
public class Test {
private static String name = “Java快车”;// 类级
private int i; // 对象实例级,Test类的实例变量
{// 属性块,在类初始化属性时候运行
int j = 2;// 块级
}
public void test1() {
int j = 3;// 方法级
if (j == 3) {
int k = 5;// 块级
}
// 这里不能访问块级的变量,块级变量只能在块内部访问
System.out.println(“name=” + name + “,i=” + i + “,j=” + j);
}
public static void main(String[] args) {
Test t = new Test();
t.test1();
Test t2 = new Test();
}
}
运行结果:
name=Java 快车,i=0,j=3
说明:
方法内部除了能访问方法级的变量,还可以访问类级和实例级的变量。
块内部能够访问类级、实例级变量,如果块被包含在方法内部,它还可以访问方法级的变量。
方法级和块级的变量必须被显示地初始化,否则不能访问。
相关文章推荐
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- Java变量的作用范围
- 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围
- 05_张孝祥_Java多线程_线程范围内共享变量的概念与作用
- java变量的类别和作用范围
- 黑马程序员_java中变量作用范围
- JAVA变量初始化及变量作用范围
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- java多线程之线程范围内共享变量的概念与作用
- 转载:classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- java 和 c等作用域问题,循环中重复定义变量
- classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。
- JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用。
- classpath、path、JAVA_HOME的作用及JAVA环境变量配置
- Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)
- (5)java变量范围和变量命名
- linux中创建和删除变量,sh与变量的作用范围之间的关系
- (4)传智播客_张孝祥_线程范围内共享变量的概念与作用
- java并发-多线程之线程范围内共享变量(5)