表 1 成员变量类型 初 始 值 -------------------------------------------------------------------------------------- byte 0 short 0 int 0 long 0L float 0.0F double 0.0D Char ' /u0000 '(表示为空) boolean False ALL reference type Null --------------------------------------------------------------------------------------- 由此我们所能够看到对象内存状态图中的age成员变量的初始值为0。
创建新的对象之后,就可以使用“对象名.对象成员”的格式,来访问对象的成员(包括属性和方法),下面演示了Person类对象的产生和使用方式: class Person { int age; void shout() { System.out.PRintln(age); } } class TestPerson { public static void main(String [] args) { Person p1 = new Person(); Person p2 = new Person(); p1.age = -30; p1.shout(); p2.shout(); } } 程序运行结果: -30 0 分析: 在TestPerson.main方法中创建了两个Person类的对象,并定义了Person类的对象引用句柄p1、p2,分别指向这两个对象。接着,程序调用了p1和p2的方法和属性,p1、p2是两个完全独立的对象,类中定义的成员变量,在每个对象都被单独实例化,不会被所有的对象共享,改变了p1的age属性,不会影响p2的age属性。调用某个对象的方法时,该方法内部所访问的成员变量,是这个对象自身的成员变量,上面程序运行的内存布局如图2。