java_06一个对象的内存图

本文详细阐述了Java程序中成员变量与方法的内存分配情况,以及方法调用的栈内存管理。从main方法开始,通过Phoneone对象的创建和方法调用来说明实例变量的初始化、方法的压栈与弹栈过程。在讨论中,强调了堆内存与栈内存的区别,以及程序执行的生命周期。
摘要由CSDN通过智能技术生成

(1)、成员变量可以保存在堆内存里,而成员方法在堆内是一个地址值,指向方法区的成员方法
(2)、进栈也叫压栈,后来的方法,会压在前面的方法之上
(3)、当所有的栈弹出的时候,程序结束,释放
####顺序
-->1.先将成员变量、成员方法写入方法区
-->2.main方法进栈开始工作
-->3.Phone one开始创建新对象
-->4.执行new Phone(),将变量,和方法地址堆内存中,并且附上默认值,
并且创建自己的地址
-->5.one.成员变量,开始赋值,以地址形式寻找位置
-->6.one.方法,按地址查找,将方法引入栈内存里,执行后弹栈
(call弹栈后,sendMessa进栈),
-->7.最后main方法弹栈,程序结束

在这里插入图片描述

 public static void main(String[] args) {
        Phone one = new Phone();
        System.out.println(one.brand);  //null
        System.out.println(one.price);  //0.0
        System.out.println(one.color);  //null
        System.out.println("============");
        one.brand="华为";
        one.price=9999.99;
        one.color="玫瑰金";
        System.out.println(one.brand);  //null
        System.out.println(one.price);  //0.0
        System.out.println(one.color);  //null
        System.out.println("=============");
        one.call("lcz");
        one.sendMessage();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值