对象的创建及其使用和一个对象的内存图
对象的创建及其使用
格式:
类名称 对象名 = new 类名称();
使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法();
对象的使用格式举例:
public class Vip_005 { public static void main(String[] args) { //对象对象格式:类名 对象名 = new 类名(); Vip_004 v = new Vip_004(); System.out.println("v:"+v);//地址值 //直接输出成员变量 System.out.println("姓名:"+v.name); System.out.println("年龄:"+v.age); System.out.println("------"); //给成员变量赋值 v.name = "赵雷家"; v.age = 15; System.out.println("姓名:"+v.name); System.out.println("年龄:"+v.age); //调用成员方法 v.ss(); v.sss(); } }
一个对象的内存图
代码示例:
//两个数组引用指向同一个数组的内存图 public class Vip_005 { public static void main(String[] args) { //对象对象格式:类名 对象名 = new 类名(); Vip_004 v = new Vip_004(); System.out.println("v:"+v);//地址值 //直接输出成员变量 System.out.println("姓名:"+v.name); System.out.println("年龄:"+v.age); System.out.println("------"); //给成员变量赋值 v.name = "赵雷家"; v.age = 15; System.out.println("姓名:"+v.name); System.out.println("年龄:"+v.age); //调用成员方法 v.ss(); v.sss(); } } class ss{ String brand;//品牌 double price;//价格 String color;//颜色 @Override public String toString() { return "ss{" + "品牌='" + brand + '\'' + ", 价格=" + price + ", 颜色='" + color + '\'' + '}'; } public ss(String brand, double price, String color) { this.brand = brand; this.price = price; this.color = color; } public void call(String whe){ System.out.println("给"+whe+"打电话"); } public void sendMessage(){ System.out.println("群发短信"); } public static void main(String[] args) { ss ss = new ss("苹果",5000.5,"宝石蓝"); System.out.println(ss); ss.call("乔布斯"); ss.sendMessage(); } }
对象的内存图:
栈(Stack):存放的都是方法中的变量
堆(Heap):new出来的对象,都在堆当中,默认值都为0,需要在栈中赋值再传入到堆里
方法区(Method Area):存放class相关信息,包含方法信息