手机类练习、两个对象进行同一个方法内存图


手机类练习

我们来写一个小测试 ,来练习一下对象的创建和使用

首先我们先来创建一个手机的类

属性有 手机的品牌 . 手机的价格 , 手机的颜色

分别使用 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 先走方法区然后 变量名在进栈 ,在类中我们使用的属性进入堆 

我们进入栈的话,会开辟一段内存空间内存空间 然后根据相应的地址值 找到对应的地址值 然后调用方法 最后展示

原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/270732.html

(0)
上一篇 2022年6月29日
下一篇 2022年6月29日

相关推荐

发表回复

登录后才能评论