Java教程

两个对象使用同一个方法的内存图与两个引用指向同一个对象的内存图

本文主要是介绍两个对象使用同一个方法的内存图与两个引用指向同一个对象的内存图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

两个对象使用同一个方法的内存图

public class PhoneDemo02 {
    public static void main(String[] args) {
        phone phone = new phone();
        System.out.println(phone.brand);
        System.out.println(phone.color);
        System.out.println(phone.price);
        System.out.println("******************");
        phone.brand = "苹果";
        phone.color = "土豪金";
        phone.price =1.3;
        System.out.println("******************");
        System.out.println(phone.brand);
        System.out.println(phone.color);
        System.out.println(phone.price);
        System.out.println("******************");
        phone.call("秦始皇");
        phone.sendMessage();
        System.out.println("******************");
        phone phtow = new phone();
        System.out.println(phtow.brand);
        System.out.println(phtow.color);
        System.out.println(phtow.price);
        System.out.println("******************");
        phtow.brand = "oppo";
        phtow.color = "金色";
        phtow.price =9.9;
        System.out.println("******************");
        System.out.println(phtow.brand);
        System.out.println(phtow.color);
        System.out.println(phtow.price);
        System.out.println("******************");
        phtow.call("汉高祖");
        phtow.sendMessage();

    }
}

 

对象调用方法时,根据对象中方法标记(地址值),去类中寻找方法信息。这样哪怕是多个对象,方法信息 只保存一份,节约内存空间。  
public class PhoneDemo03 {
    public static void main(String[] args) {
        phone phone = new phone();
        System.out.println(phone.brand);
        System.out.println(phone.color);
        System.out.println(phone.price);
        System.out.println("******************");
        phone.brand = "苹果";
        phone.color = "土豪金";
        phone.price =1.3;
        System.out.println("******************");
        System.out.println(phone.brand);
        System.out.println(phone.color);
        System.out.println(phone.price);
        System.out.println("******************");
        phone.call("秦始皇");
        phone.sendMessage();
        System.out.println("******************");
        phone phtow =phone;
        System.out.println(phtow.brand);
        System.out.println(phtow.color);
        System.out.println(phtow.price);
        System.out.println("******************");
        phtow.brand = "oppo";
        phtow.color = "金色";
        phtow.price =9.9;
        System.out.println("******************");
        System.out.println(phtow.brand);
        System.out.println(phtow.color);
        System.out.println(phtow.price);
        System.out.println("******************");
        phtow.call("汉高祖");
        phtow.sendMessage();

    }
}

 

 

 

这篇关于两个对象使用同一个方法的内存图与两个引用指向同一个对象的内存图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!