JAVA 1.8.0入门学习(1)按照作用域将变量分级

◼ 在Java中,变量的作用域分为四个级别:
 类级:类级变量又称全局级变量或静态变量,需要使用static关键字修饰,在类定义后就已经存在,占用内存空间,可以通过类名来访问,不需要实例化。
 对象实例级:就是成员变量,实例化后才会分配内存空间,才能访问。
 方法级:在方法内部定义的变量,即局部变量。
 块级:定义在一个块(大括号包围的代码)内部的变量,变量的生存周期就是这个块,出了这个块就消失了,比如 if、 for 语句的块。


public class VarDemo {
	public static String name = "this is an explanation";//class level
	public static int i=100;//class level
	{
		int i = 2;//块级变量
	}
	public void method1() {
		int j = 3;//method level
		if (j==3) {
			int k=5;//块级变量
		}//块级变量只能在块内部访问
		System.out.println("name = "+name+ ",i = "+i+ "j = "+j);
	}
	public static void main(String[] args) {
		System.out.println(VarDemo.name);
		VarDemo var = new VarDemo();
		var.method1();
		System.out.println(VarDemo.i);
	}
}

output:

this is an explanation
name = this is an explanation,i = 100j = 3
100

注意1

static为静态变量的修饰词;
有static修饰的属性,不需要实例化,直接由类名+点操作符即可调用;
没有static修饰的属性,则为对象实例级,//object example level,需要实例化类之后,才可以调用;
如果第三行没有static,写为
public int i=100;//则为object example level,
System.out.println(VarDemo.i);时会提示类没有i的属性
,但
VarDemo var = new VarDemo();//实例化后,
System.out.println(var.i);结果是可以输出的。

注意2

JAVA不可以二次赋值同一个变量。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37970770/article/details/105823212