java变量之全局变量(静态变量,成员变量),局部变量,的关系和区别 您所在的位置:网站首页 java静态变量怎么使用 java变量之全局变量(静态变量,成员变量),局部变量,的关系和区别

java变量之全局变量(静态变量,成员变量),局部变量,的关系和区别

2024-03-21 05:39| 来源: 网络整理| 查看: 265

转https://blog.csdn.net/m0_47616039/article/details/120452765

可能刚学java对这些变量很懵,直接上图,接下来进行代码解释

此文为了方便各位理解,仅简单解释,若需深入,还需继续学习

 

 

学习变量之前若对static修饰符不理解,理解可能比较吃力,

一:下面先大致介绍java中static关键字的作用

static

1:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。

2:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。 

3:简单来说就是被static修饰后的值可以直接类名.值进行引用,而无需new一个对象进行调用

静态变量

1:静态变量(又称类变量):由static修饰,在JVM中,静态变量的加载顺序在对象之前,因此静态变量不依附于对象存在,可以在不实例化类的情况下直接使用静态变量

2:静态变量属于类,不属于类中任何一个对象,因此静态变量又叫做类变量,一个类不管创建多少个对象(对象是类的一个实例),静态变量在内存中有且仅有一个。

简而言之若需要引用静态变量,直接类名.静态变量即可引用如代码中的

System.out.println("类变量(又称静态变量) Pi=" + Demo.Pi);  

实例变量

实例变量(又称成员变量):必须依附于对象存在,

只有实例化类后才可以使用此类中的实例变量

 (即new 对象后才能调用)如代码中的

Demo demo = new Demo(); System.out.println("成员变量(又称实例变量) i=" + demo.i);  

局部变量

这里仅讲解 方法体内定义的局部变量

方法体内定义的局部变量仅能在该方法中使用,若外部直接使用,则会报错

public class Demo {     public static double Pi = 3.14;//类变量(又称静态变量)     private int i = 1;//成员变量(又称实例变量)         public void method() {         int j = 1;//局部变量,在方法中定义         System.out.println("局部变量 j=" + j);     }       public static void main(String[] args) {         System.out.println("类变量(又称静态变量) Pi=" + Demo.Pi);         //Pi是静态变量(有static修饰),直接通过类名进行引用           Demo demo = new Demo();           System.out.println("成员变量(又称实例变量) i=" + demo.i);         //因为i是非静态(没有static修饰),所以引用必需new一个对象进行引用           demo.method();     } }

运行结果为:

 

说明:

 

扩展: 

具体来说,全局变量和局部变量的区别如下:

1:作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等

2:内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区

3:生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了

4:使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量  



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有