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