final、static修饰局部变量、全局变量的区别汇总

 

1、final修饰的局部变量
如果是基本类型,基本类型的值不能发生改变
如果是引用类型,引用类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的


2、final修饰的全局变量
final修饰的全局变量表示常量,只能被赋值一次,赋值后值不再改变


3、static修饰的局部变量
static不能修饰局部变量吗?一般不会这样使用,static一般用来修饰全局变量


4、static修饰的全局变量
由static修饰的全局变量称为静态变量,静态变量属于类,而不是属于任何的实例
静态变量也称为类变量,非静态变量又称为实例变量(成员变量)。静态变量属于类,静态变量的值是保存在类的内存中的公共存储单元中,而不是保存在某一个对象的内存空间。当任何一个对象访问静态变量时,得到的值都是相同的。当一个对象对静态变量进行修改时,那么保存在类的内存中的公共存储单元中的值也将被修改。也就是说,不管存在多少实例,静态变量只分配一次值。实例变量属于实例。在一个实例被创建和初始化时,属于这个实例的实例变量已经被保存在内存中。

 

posted @ 2020-09-26 15:21  Java精进之路  阅读(1602)  评论(0编辑  收藏  举报