手机类练习、两个对象进行同一个方法内存图
手机类练习
我们来写一个小测试 ,来练习一下对象的创建和使用
首先我们先来创建一个手机的类
属性有 手机的品牌 . 手机的价格 , 手机的颜色
分别使用 get,set 有参 我无参
public class Phone {
private String brand;// 品牌
private double price; //价格
private String colour; //颜色
public void call(String wod){
System.out.println("给"+wod+"打电话");
}
public void note(){
System.out.println("群发短信");
}
public Phone(String brand, double price, String colour) {
this.brand = brand;
this.price = price;
this.colour = colour;
}
public Phone() {
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getColour() {
return colour;
}
public void setColour(String colour) {
this.colour = colour;
}
@Override
public String toString() {
return "Phone{" +
"brand='" + brand + '\'' +
", price=" + price +
", colour='" + colour + '\'' +
'}';
}
}
手机类创建完成之后在创建俩个方法,创建一个打电话 和发短信 的方法
在创建一个测试类进行测试
public class MyTest1 {
public static void main(String[] args) {
Phone phone = new Phone("ihone",5555,"白色");
phone.call("大傻");
phone.note();
System.out.println("手机品牌"+phone.getBrand()+"价格"+phone.getPrice()+"手机颜色"+phone.getColour());
}
}
我们来看一下运行结果
我们画一个图来看一下 走的流程
首先我们创建了俩个类,第一个phone 电话类 有属性成员方法 然后方法名进栈 属性类型进堆 当我们要查找属性的时候就会去栈获取他的地址在 然后进堆找出对应的属性
找到属性之后 在进行方法区 去找到方法
然后在第二个类中 创建出对象 找到对应的方法进行输出
两个对象进行同一个方法内存图
我们创建了两个对象 ,让俩个对象同时调用一个方法
首先我们的方法名.class 先走方法区然后 变量名在进栈 ,在类中我们使用的属性进入堆
我们进入栈的话,会开辟一段内存空间内存空间 然后根据相应的地址值 找到对应的地址值 然后调用方法 最后展示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY