1、对象的创建:Java语言中使用new操作符调用构造方法就可以创建一个对象。
特殊:String str = 'abc';
其实str也是一个对象,虽然代码里没有new关键字,但Java虚拟机在创建字符串的同时,也创建了一个匿名的字符串对象,并交给str引用。
2、对象的引用:在Java语言中尽管一切都可以看作对象,但真正的操作标识符实质上是一个引用。
注意:引用只是存放一个对象的内存地址,并非存放一个对象,严格地说引用和对象是不同的,但是可以将这种区别忽略,如可以简单地说book是Book类的一个对象,而事实上应该是book包含Book对象的一个引用。
3、对象的使用:当用户使用new操作符创建一个对象后,可以使用对象.类成员来获取对象的属性和行为。对象的属性和行为在类中是通过类成员变量和成员方法的形式来表示的,所以当对象被实例化之后,也就获得了相应的属性和行为。
4、对象的销毁:每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址将被回收。在其他语言中需要手动回收废弃的对象,但是Java拥有一套完整的垃圾回收机制,用户不必担心废弃的对象占用内存,垃圾回收器将回收无用的但占用内存的资源。
finalize()方法:如果用户在类中定义了finalize()方法,在垃圾回收时首先调用该方法,并且在下一次垃圾回收动作发生时,才能真正回收被对象占用的内存。
由于垃圾回收不受人控制,具体执行时间也不确定,所以finalize()方法也就无法执行,为此Java提供了System.gc()方法强制启动垃圾回收器。