java对象
创建一个类
public class Phone { //成员变量 String brand; int price; //成员方法 public void call(){ System.out.println("打电话"); } public void sendMessage(){ System.out.println("发短信"); } }
创建对象
public class PhoneDemo { public static void main(String[] args) { //创建对象 Phone p = new Phone(); //给对象赋值 p.brand = "iPhone"; p.price = 6799; //输出对象的成员变量 System.out.println(p.brand); System.out.println(p.price); //使用对象的方法 p.call(); p.sendMessage(); } }
得到结果:
内存解析
方法加载到栈内存,使用完会消失,后进先出,所有步骤执行完main消失;
创建手机对象p1,成员变量赋值完成,创建手机对象p2,使得p2 = p1,这时p1和p2内存地址相同,任意改变其中一个成员变量的值,则另一个也会发生改变!
代码:
public class PhoneDemo { public static void main(String[] args) { //创建对象p1 Phone p1 = new Phone(); //给对象p1赋值 p1.brand = "iPhone"; p1.price = 6799; //输出对象p1的成员变量 System.out.println(p1.brand+","+p1.price); System.out.println("----------分割线------------"); //创建对象p2 Phone p2 = p1; //给对象p2赋值 p2.brand = "iPhone XS MAX PLUS"; p2.price = 11199; //输出对象p1,p2的成员变量 System.out.println("p1的值:"+p1.brand+","+p1.price); System.out.println("p2的值:"+p2.brand+","+p2.price); } }
结果演示: