Java中全局变量和局部变量详解(看这篇就够了)

 更新时间:2023年11月29日 11:27:11   作者:Rsun04551  
在Java中全局变量和局部变量是两种不同作用域的变量,这篇文章主要给大家介绍了关于Java中全局变量和局部变量的相关资料,文中通过代码介绍的非常详细,大家看这篇就够了,需要的朋友可以参考下

在Java中,全局变量和局部变量是两种不同作用域的变量。

全局变量(成员变量):

public class Example {
    int globalInt;  // 全局变量,默认为0
    String globalString;  // 全局变量,默认为null
    static int staticGlobalInt;  // 静态全局变量,默认为0

    public void method() {
        System.out.println(globalInt); // 可以在类中的任何地方使用
    }

    public static void main(String[] args) {
        System.out.println(staticGlobalInt); // 静态全局变量也可以在静态方法中使用
    }
}

在类中定义的变量称为成员变量,也叫全局变量。它们的作用域是整个类,在类的任何地方都可以被访问。

如果没有显式地初始化,它们会有默认值。

全局变量可以是基本数据类型(如int、double等)或引用类型(如对象、数组等)。

全局变量存在于堆内存中

局部变量:

public class Example {
    public void method() {
        int localVar = 10; // 局部变量,必须显式初始化
        System.out.println(localVar); // 可以在方法内部使用
    }
}

在方法、代码块或构造方法内部定义的变量称为局部变量。

它们的作用域仅限于所在的方法、代码块或构造方法内部。

局部变量必须显式初始化才能使用。

局部变量是创建在栈内存中的

附:JAVA中全局变量和局部变量的区别

JAVA中全局变量和局部变量的区别如下:

1.作用域不同:

全局变量在整个类中都可以被访问,而局部变量只在它们被声明的方法或代码块中有效。

2.生命周期不同:

全局变量在类被加载时创建,一直存在于内存中,直到程序退出或对象被销毁。而局部变量在方法或代码块被执行时创建,当方法或代码块执行完毕后会被自动销毁。

3.初始值不同:

全局变量在声明时可以赋初值,否则会被默认初始化。而局部变量没有默认值,必须在使用前进行赋值。

4.访问权限不同:

全局变量可以被类中的所有方法访问,而局部变量只能在其所在的方法或代码块中被访问。

因此,全局变量和局部变量的主要区别在于它们的作用域、生命周期、初始值和访问权限。

总结:

  • 全局变量作用域是整个类,可以在类的任何地方使用。
  • 局部变量作用域限定在方法、代码块或构造方法内部,必须显式初始化后才能使用。

相关文章

  • java实现emqx设备上下线监听详解

    java实现emqx设备上下线监听详解

    这篇文章主要为大家介绍了java实现emqx设备上下线监听详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 理解Java访问权限控制

    理解Java访问权限控制

    这篇文章主要帮助大家深入的理解Java访问权限控制,为何需要访问控制权限,本文给出了解释,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Tomcat安装配置及Eclipse配置详解

    Tomcat安装配置及Eclipse配置详解

    给大家介绍一下Tomcat安装配置及Eclipse配置的全部图文过程,如果你对这个还有不明白,一起跟着小编学习下。
    2017-11-11
  • 通过实例讲解springboot整合WebSocket

    通过实例讲解springboot整合WebSocket

    这篇文章主要介绍了通过实例讲解springboot整合WebSocket,WebSocket为游览器和服务器提供了双工异步通信的功能,即游览器可以向服务器发送消息,服务器也可以向游览器发送消息。,需要的朋友可以参考下
    2019-06-06
  • SpringBoot mail中文附件乱码的解决方法

    SpringBoot mail中文附件乱码的解决方法

    本篇文章主要介绍了SpringBoot mail中文附件乱码的解决方法,非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • 详解java实现HTTP请求的三种方式

    详解java实现HTTP请求的三种方式

    这篇文章主要介绍了java实现HTTP请求的三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 原生java代码实现码云第三方验证登录的示例代码

    原生java代码实现码云第三方验证登录的示例代码

    这篇文章主要介绍了原生java代码实现码云第三方验证登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java出现中文乱码问题分析及解决方案

    Java出现中文乱码问题分析及解决方案

    在Java开发中,处理中文乱码是一个常见的问题,由于字符集和编码的复杂性,开发者可能面临各种导致乱码的情况,正确地处理中文字符集对于确保应用程序的可靠性和国际化至关重要,本文给大家介绍了Java中文乱码分析及解决方案,需要的朋友可以参考下
    2024-02-02
  • @ConfigurationProperties加载外部配置方式

    @ConfigurationProperties加载外部配置方式

    这篇文章主要介绍了@ConfigurationProperties加载外部配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Spring面向切面编程AOP详情

    Spring面向切面编程AOP详情

    这篇文章主要介绍了Spring面向切面编程AOP详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论