Java基础(使用对象类型作为方法的参)

package 类和对象;
public class Phone {
//成员变量
String brand; //品牌
double price; //价格
String color; //颜色
}

package 类和对象;

public class UsePhone {
public static void main(String[] args) {
Phone one = new Phone();
one.brand = “苹果”;
one.price = 8388.0;
one.color = “土豪金”;

    method(one); //传递进去的参数其实就是地址值

}
//带有static的就作为普通方法,不需要对象可直接调用
public static void method(Phone param)
{
    System.out.println(param.brand);  //苹果
    System.out.println(param.price);  //8388.0
    System.out.println(param.color);  //土豪金
}

}
思路:先从main开始(进栈)
开辟一段内存空间,创建了对象Phone one
new phone()被放在了堆中
里面就有成员变量,一开始都是默认值 null 0.0 null
还有成员方法 (保存的其实是地址值)有自己的地址值0x333
而堆中的new Phone()也有自己的地址值0x666
0x666就被保存到Phone one 的one中
然后往里面分别给其赋值 变成了苹果 8388.0 土豪金

然后method(Phone param)进栈
开辟一段内存空间
Phone one中的地址值就交给了method(one)
method(one)中的one就要往method(Phone param)中传参数( 实际上也就是传地址,param来接收)

下面的param.brand实际上是0x666.brand,所以就能够根据地址找到对象,也就是使用它
在这里插入图片描述
运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值