静态变量和全局变量与局部变量的区别

1.什么是静态变量?

静态变量又称为类变量,在类中被static修饰的成员变量属性,在类加载过程的准备阶段会进行一次赋值,一般是空值或constantValue属性值,且只有一次初始化时赋值,一份该变量,所有“该”对象共用这一个变量,其中“该对象”指的是所有包含该静态变量的对象类,即如下代码,其中“name”变量被static修饰,为静态变量,相当于所有new 出来的Person对象的name都为“老弯”,若其发生改变则所有Person对象的“name”值都一起发生改变。
扩展:被static修饰的方法为静态方法,其中static修饰的方法中不能使用this关键字,在JVM中static方法在静态区,静态方法中不能直接调用非静态方法,因为静态方法先加载;只能通过实例化对象后,通过对象引用调用。

public class Person {
	private static String name = "老弯";
	
	public static void test(){
		System.out.println("这是一个静态方法");
	}
}

被static修饰过的属性和方法可以直接通过类名调用,如:

String name = Person.name;	//静态方法调用为:Person.test();

2.什么是全局变量?

全局变量又称为实例变量,即在类中,方法之外声明的普通变量,没有被static修饰,在创建对象时会默认调用实例构造器进行一次赋值,自动赋值为null或者为0。因此无论是类变量还是实例变量,在使用前都是非空的。如:

public class Person {
	private String name;
}

其中name就是全局变量(实例变量)。

3.什么是局部变量?

局部变量即为方法内部的变量,只能在当前方法内被调用和使用,在其他方法内是无法使用到该变量。且局部变量没有初始化过程,在使用前必须赋值,否则报错空指针。如:

public class Person {
	public void test(){
		String name = "老弯";
	}
}

其中name就是局部变量。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值