两个对象使用同一个方法的内存图与两个引用指向同一个对象的内存图
两个对象使用同一个方法的内存图
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(); } }