千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  java全局变量

java全局变量

来源:千锋教育
发布人:lxx
时间: 2023-03-17 10:01:40

  1.java全局变量

  1.1 概述

  Java中的全局变量通常是指定义在类级别上的变量,也称为类变量或静态变量。它们与对象实例无关,而是与类相关联的变量。这意味着无论创建多少个对象,类变量的值都是相同的。类变量可以在整个类中使用,并且可以通过类名直接访问。

  要定义一个类变量,需要在变量声明之前添加关键字“static”。例如:

  public class MyClass {

  static int globalVariable = 10;

  }

  在上面的示例中,globalVariable是一个类变量,它被定义为一个整数,并初始化为10。该变量可以通过类名访问,如下所示:

  MyClass.globalVariable = 20;

  类变量可以在类中的任何地方使用,并且对于所有对象都是相同的。这使得它们成为在整个类中共享数据的有用工具。

  1.2 特点

  Java的全局变量,也称为成员变量或类变量,是在类中定义的变量,可以被类的所有方法和对象访问。以下是Java全局变量的特点:

  1.生命周期:全局变量在类定义的生命周期内存在,即在对象创建前就已经存在,直到程序结束或类被卸载时才被销毁。

  2.默认值:如果没有给全局变量赋初值,则它们将默认初始化为0或null,具体取决于变量的类型。

  3.可见性:全局变量可以在类的所有方法中访问,包括静态和非静态方法。

  4.作用域:全局变量的作用域是整个类,可以在类的任何方法中使用。

  5.静态性:可以使用static关键字将全局变量声明为静态变量,这样它们将成为类变量,而不是对象变量。静态变量只有一个副本,被类的所有对象所共享,因此它们可以在不创建对象的情况下访问。

  6.可变性:全局变量可以是可变的或不可变的,这取决于它们的数据类型。如果全局变量是一个对象,则可以更改该对象的状态,即使变量本身是final类型。

  总之,全局变量是Java中非常重要的一种数据类型,它们可以让变量在类的范围内存在,并且可以在整个类中使用。因此,它们可以被用来存储对整个类有意义的数据,或者作为类的状态的标志。

  1.3 案例

  以下是一个使用全局变量的Java示例:

5e87d215102b91681da932b7fb3f1c8

  在这个例子中,我们声明了一个名为 globalVariable 的静态全局变量,它的值为 10。我们然后在 main 方法中访问这个全局变量,并将其值打印出来。

  接下来,我们调用 modifyGlobalVariable 方法来修改全局变量的值。在这个方法中,我们将 globalVariable 的值改为 20。

  最后,我们再次访问 globalVariable 来检查它的值是否已被修改,并将其值打印出来。

  注意,在 Java 中,静态全局变量必须使用 static 关键字进行声明,以便在其他静态方法中访问它。

  1.4 java全局变量的存储区域

  ●Java中的全局变量(即静态变量)存储在Java虚拟机(JVM)的方法区中。方法区是一种在JVM中用于存储类信息、常量、静态变量等数据的内存区域。在JVM启动时,方法区被分配,其大小可以根据需要进行调整。

  ●由于方法区是在JVM中共享的,因此所有实例都可以访问相同的全局变量。因此,全局变量也称为类变量,因为它们与整个类相关联,而不是与任何特定实例相关联。全局变量在类被加载时初始化,并且可以通过类名来访问,而不需要创建类的实例。

  2.局部变量

  2.1 概述

  局部变量是在定义形参、方法或代码块内部的变量,该变量只在当前方法、代码块中有效。

  2.2特点

  局部变量具有如下特点:

  ●局部变量声明在方法、构造方法或者代码块、形参中;

  ●局部变量在方法、构造方法、或者语句块被执行时创建,当它们执行完成后,局部变量就会被销毁;

  ●访问修饰符不能添加在局部变量上;

  ●局部变量只在声明它的方法、构造方法或者代码块、形参中可见;

  ●局部变量是在栈上分配的;

  ●局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

  2.3 案例

  在下面的案例中,给大家定义了几个局部变量供大家参考。

38fbb749181d38dcc0aaf87696adfd0

  2.4 java局部变量的存储区域

  ●Java 中的局部变量存储在栈(stack)内存中。栈是一种后进先出的数据结构,用于存储方法调用时的局部变量、方法参数和返回值等数据。当一个方法被调用时,会为该方法在栈上分配一块内存空间,用于存储该方法的局部变量和方法参数。当方法执行完毕后,该方法的栈帧就会被销毁,该方法的局部变量和方法参数也就随之被释放。因此,局部变量的生命周期与方法的生命周期相同,只在方法内部有效。

  3.总结

  至此,最后给大家总结下局部变量和成员变量的区别,大家一定多上手练一练哈,这样才能加深印象:

  1. 相同点:

  1.定义变量的格式相同;

  2.先声明后使用;

  3.变量都有对应的作用域。

  2. 不同点:

  两者声明的位置及作用范围不同,如下表所示:

  成员变量 直接定义在类中,根据修饰符的不同,可以在当前类或其他类中有效。

  局部变量 定义在方法的形参、方法内部、代码块内部的变量。只在当前方法及代码块内部有效。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

类的加载机制是什么

2023-03-21

如何定义Java变量?

2023-03-14

细节决定成败:探究Mybatis中javaType和ofType的区别

2023-03-09

最新文章NEW

java实现多线程的几种方式

2023-03-21

java编程spring框架的作用

2023-03-21

什么是java中的进制

2023-03-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>