全局变量和局部变量

局部变量:

在方法中开辟的变量,只在方法中有效

局部变量在定义时不会初始化,要显式的给它一个值(如未给它一个初始值,虽然编译的时候会通过,但是运行的时候会产生为初始化错误!)。

方法调用代码执行完,局部变量便会自动释放。

在方法内的语句块中建立的变量在编译时假如未初始,如若使用,也会报未初始化错误!(调用的时候不会为其开辟空间)

 

全局变量

在类中定义的,对该类的所有方法所共有

全局变量不用进行显式初始化,但如果全局变量的修饰符为final,要进行显式的初始化,否则编译不通过。

会调用构造方法为其初始化实例全局变量

如果是静态全局变量,可以通过静态初始化块为其初始化。

生命周期是随着对象的销毁而销毁。

 

静态全局变量

归该类的所有对象所公有

特点

1.虚拟机一加载该类的字节码,便会为其的静态全局变量在方法区的静态数据区开辟空间,空间的大小由变量的类型所决定,并初始化,就和相应的类相关联。

2.虚拟机在创建一个对象时,如若有静态全局变量,则会为该静态全局变量在堆中创建一个引用。这个引用指向了方法区的静态数据区中的该变量的空间。所以在方法中使用静态全局变量时,会先找到该引用,再通过该引用找到在静态数据区的该变量。

3.在主方法中调用为在主方法中定义的变量,会默认为是静态全局变量。

4.在代码执行过程中不会被销毁.

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值