首页 > 编程语言 >Java中“成员变量,局部变量,静态变量”三者区别说明

Java中“成员变量,局部变量,静态变量”三者区别说明

时间:2022-11-03 09:35:38浏览次数:59  
标签:调用 Java 变量 静态 成员 局部变量 对象

转自:

http://java265.com/JavaCourse/202111/1728.html

下文笔者讲述java中成员变量,局部变量,静态变量的不同之处,如下所示:

  成员变量 局部变量 静态变量
定义位置 类中,方法外 方法中,方法的形参 类中,方法外
初始化值 默认初始化值 无,先定义,赋值后使用 默认初始化值
调用方式 对象调用   类名调用
存储位置 堆中 栈中 方法区
生命周期 同对象共存亡 同方法共存亡 同类共存亡
别名 实例变量   类变量

成员变量和局部变量的区别

成员变量
  1. 成员变量定义在类中,在整个类中都可以被访问
  2. 成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中
  3. 成员变量有默认初始化值
局部变量
  1. 局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效
  2. 局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放
  3. 局部变量没有默认初始化值

成员变量和静态变量的区别

  1. 两个变量的生命周期不同
    成员变量随着对象的创建而存在,随着对象被回收而释放
    静态变量随着类的加载而存在,随着类的消失而消失
  2. 调用方式不同
    成员变量只能被对象调用
    静态变量可以被对象调用,还可以被类名调用
  3. 别名不同
    成员变量也称为实例变量
    静态变量也称为类变量
  4. 数据存储位置不同
    成员变量存储在堆内存的对象中,所以也叫对象的特有数据
    静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据

标签:调用,Java,变量,静态,成员,局部变量,对象
From: https://www.cnblogs.com/javalove2022/p/16853314.html

相关文章

  • java命令行如何编译运行带package(包)的程序
    先用javac编译,带参数-djavac-d.****.java 然后,在当前目录下(不要到****子目录),运行java即可。java***.*****如:javac-d.FuctionDemo2.javajavacom.Fuct......
  • 开发语言介绍——Java
    开发语言介绍——Java一、基本说明1.Java语法的特点关键字都是小写字母标识符没有长度限制使用Unicode编码Java是一种强类型的语言,变量在编译之前一定要被显示的声明......
  • 如何从 Java 的 List 中删除第一个元素 remove
    如何从Java的List中删除第一个元素remove概述在这个实例中,我们将会演示如何删除在Java中定义的List的第1个元素。我们将会针对这个问题使用List接口的......
  • Java获取当前环境
    配置环境spring.profiles.active=dev获取当前环境方法一通过@Value注解获取@Value("${spring.profiles.active}")privateStringenv;方法二在配置文件中通过env......
  • Java函数式编程(1):Lambda表达式(1)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ Java在其技术发展周期中经历过几次比较重要的变化,如果不是这几次比较重要的变化,恐怕不会有现在这样的江湖地位。个人看......
  • Java Instrumentation
    前言JDK1.5开始,Java新增了Instrumentation(JavaAgentAPI)和JVMTI(JVMToolInterface)功能,允许JVM在加载某个class文件之前对其字节码进行修改,同时也支持对......
  • Java面向对象
    面向过程&面向对象思想面向过程:将一件事情步骤化(只适合处理较为简单的问题)面向对象:思考问题会将问题进行分类,再对分类进行单独思考。最后才会对某个分类下的细......
  • Java基础
    常见快捷键全选ctrl+a复制ctrl+c粘贴ctrl+v撤销ctrl+z保存ctrl+s关闭窗口alt+F4永久删除shfit+Delete常用DOS命令盘符切换d;查看当前目录下的所有文......
  • Java RMI分析与利用
    一.RMI介绍RMI(RemoteMethodInvocation)远程方法调用,顾名思义,是一种调用远程位置的对象来执行方法的思想。在Java中,我们通常传递一个完整的对象,这个对象既包含数据......
  • 关于Java的volatile关键字、内存屏障的思考
    内存屏障就是一种屏障指令,在X86架构中,指的是加了“lock前缀”的汇编指令在执行时会让CPU或编译器在对内存进行操作的时候,严格按照一定的顺序来执行。也就是说......