栈堆静态区java_java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配...

1、java中的变量与数据类型

变量是一个容器,用来装什么的呢?装内存地址,这个内存地址对应的是内存中某个数据。

那为什么这个容器不直接装这个数据更简洁呢?因为直接装数据的话,这个数据就无法被别的变量使用,无法复用就会导致很多不便。

所以变量的内存分配可以看成两个不部分:1、变量在内存中的分配(“变量分配”) 2、变量所引用的数据在内存中的分配(“数据分配”)

1.1、变量类型有:

局部:在方法内声明的变量

实例:在类中但在方法外声明并且没有static

静态:声明为static的变量

1.2、变量的数据类型有:

1、原始数据类型 2、引用数据类型

2、思考

原始数据类型变量的“变量分配”和“数据分配”是在一起的(都在方法区或栈内存或堆内存,这里思考什么时候在方法区、什么时候在栈内存、什么时候在堆内存???)

引用数据类型的“变量分配”和“数据分配”不一定是在一起的(什么情况是在一起的?什么情况不在一起?)

3、例子:

public class Fruit {

private static int x = 10;

static BigWaterMelon bigWaterMelon_1 = new BigWaterMelon(x);

private int y = 20;

private BigWaterMelon bigWaterMelon_2 = new BigWaterMelon(y);

public static void main(String

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值