Java变量

java中的变量按类型可以分为基本数据类型变量和引用类型变量。按作用域可以分为局部变量、实例变量和静态变量(类变量)。

局部变量
局部变量在方法中定义,当声明一个局部变量时,首先变量的值会被存储在操作数栈上,接着会把这个变量的值存入局部变量表中对应的变量的位置,引用类型也是这样,只不过这个变量的值是一个引用而不是具体的值。

  • 引用类型变量:例如Cat tom=new Cat();其中引用类型变量tom存在与虚拟机栈中,对象new Cat()存在于堆中;

  • 基本数据类型变量:int a=1;a和1都存在于虚拟机栈中;
    执行过程:
    在这里插入图片描述

  • " "字符串:常量池

实例变量
实例变量不会独立于对象而存在,初始化时会被加入到构造方法中;

  • 引用类型变量:private Cat tom=new Cat();存在于堆中。
  • 基本数据类型变量:private int a=1;存在于堆中的对象里。
    执行过程:
    在这里插入图片描述
  • " "字符串:常量池

静态变量

  • 引用类型变量:static Cat tom=new Cat();tom存在于方法区,对象new Cat()存在与堆中;
  • 基本数据类型变量:static int a=1;a和1都存在于class对象中方法区(jdk1.8后在堆中)。
  • " "字符串:常量池

速览:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值