java中一个对象的内存图(数据结构)
程序员文章站
2022-05-04 11:44:36
一个简单的代码类需要定义在类.class文件中public class Phone{//定义一个Phone类string brand;//品牌double price;//价格string color;//颜色public void call(string who){system.out.println("给" + who + "打电话");}public void sendMassege(){system.out.println("群发短信");}publ...
一个简单的代码
(一个小白,欢迎指正)
类需要定义在类.class文件中
public class Phone{//定义一个Phone类
string brand;//品牌
double price;//价格
string color;//颜色
public void call(string who){
system.out.println("给" + who + "打电话");
}
public void sendMassege(){
system.out.println("群发短信");
}
public class PhoneOne {
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 = 8488.0;
one.color = "黑色";
System.out.println(one.brand);
System.out.println(one.price);
System.out.println(one.color);
System.out.println("====================");
one.call("乔布斯");//调用成员方法
one.sendMessage();
内存图如下
各个.class 文件信息先进入方法区,main()方法先进栈,按语句顺序调用。new了一个对象在堆中,栈中保存堆中对象的地址,堆中参考方法区创建成员变量,保存成员方法的地址。当堆中main()方法调用了该成员方法,会通过堆中地址找到方法区中的成员方法,该方法进栈(也称压栈),当该方法执行完后,会出栈(也称弹栈),以此类推,当main()方法执行结束之后出栈,程序停止。
本文地址:https://blog.csdn.net/mujing11/article/details/107354307
上一篇: KNN分类python实现
下一篇: Linux基础操作笔记