Java浅谈数组之内存分析(二)

引用类型的数组的初始化

1数组元素是引用时的内存分析

 

package com.java.array;

class Person{
    public int age;//年龄
    public double height;//身高
    //定义一个info方法
    public void info(){
        System.out.println("我的年龄是:"+age+",我的身高是:"+height);
    }
}

public class ArrayTest2 {

    public static void main(String[] args) {
        //定义一个student数组变量,其类型是Person[]
        Person []students;
        //执行动态初始化
        students=new Person[2];
        //创建一个Person实例,将这个实例赋值给变量zhang
        Person zhang=new Person();
        //为张所引用的Person对象的age和height赋值
        zhang.age=18;
        zhang.height=175;
        //创建一个Person实例,将这个实例赋值给变量wang
        Person wang=new Person();
        //为张所引用的Person对象的age和height赋值
        wang.age=24;
        wang.height=170;
        //将zhang变量赋值给第一个数组元素
        students[0]=zhang;
        //将wang变量赋值给第二个数组元素
        students[1]=wang;
        //下面两行代码的结果完全是一样的
        //因为wang和students[1]指向的是同一个Person实例
        wang.info();
        students[1].info();
    }
}

下面将上面的代码转化为存储示意图说明:

 

转载于:https://www.cnblogs.com/hc20080925hq/p/7670388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值