1. 对象生命周期的概念:对象从创建到直至销毁的过程构成了对象的生命周期。对象创建好以后,就会占用一定的内存空间。当对象被销毁,它占用的内存空间就会被回收。
2. 构造方法的作用:构造方法用于创建对象时,完成对象的初始化操作,如初始化实例变量。
3. 构造方法的重载:在同一类中,构造方法允许有多种重载形式,这些重载的构造方法分别完成不同的初始化行为。
4. 用this关键字调用重载的构造方法:在同一个类中,在一个构造方法中,允许通过this关键字来调用另一个重载的构造方法。This语句必须位于构造方法的第1行。
5. 默认构造方法的概念:默认构造方法是指不带参数的构造方法。
6. 默认构造方法的来源:(1)隐含的默认构造方法。如果类中没有显式提供任何构造方法,那么java语言将自动提供一个隐含的默认构造方法,没有参数,函数体为空。(2)程序显式定义的默认构造方法。(3)如果类中显式定义了一个或多个构造方法,并且所有的构造方法都带参数,那么这个类就失去了默认构造方法。
7. 子类调用父类的构造方法:(1)通过super关键字显式调用父类特定的构造方法。super语句必须位于子类构造方法的第1行。(2)当子类的构造方法没有用super语句显式调用父类的构造方法,如果通过这样的构造方法创建子类对象,那么java虚拟机会自动先调用父类的默认构造方法。
8. 创建子类对象时,构造方法的调用过程:java虚拟机首先执行父类的构造方法,然后再执行子类的构造方法。在多级继承的情况下,将从继承树的最上层的父类开始,依次执行各个类的构造方法,这可以保证子类对象从所有直接或间接父类中继承的实例变量都正确地初始化。
9. 无用对象的概念:当一个对象不再被程序中的任何引用变量引用,它就变成无用对象。
10. java虚拟机垃圾回收的机制:java虚拟机的垃圾回收器负责回收内存中的无用对象。但是何时回收,以及是否一定会回收无用对象,都是不确定的,程序对此一无所知。
11. System.gc()或者Runtime.gc()的作用:程序中可以调用这两个方法,提示垃圾回收器尽快执行垃圾回收操作。尽管如此,仍然不能保证垃圾回收器一定会回收无用对象。
12. 当垃圾回收器将要回收无用对象的内存时,会先调用该对象的finalize()方法。对象的finalize()方法可用来完成一些诸如释放无用对象所占用的资源等收尾工作。由于垃圾回收器是否会回收无用对象是不确定的,因此,程序不能完全依赖finalize()方法来完成无用对象的收尾工作。