《Java编程思想》学习笔记之初始化与清理
初始化
1、区分重载的方法
要是几个方法有相同的名字,Java如何才能知道你指的是哪一个呢?其实规则很简单:每个重载的方法都必须有一个独一无二的参数类型列表。
有些人可能会想:“在区分重载方法的时候,为什么只能以类名和方法的形参列表作为标准呢?能否考虑用方法的返回值来区分呢?”比如下面两个方法,虽然它们有同样的名字和形式参数,但却很容易区分它们:
?
//Using finalize() to detect an object that hasn't been properly cleaned upclass Book{boolean checkedOut = false;Book(boolean checkOut){checkedOut = checkOut;}void checkIn(){checkedOut = false;}protected void finalize(){if(checkedOut){System.out.println("Error:checked out!");//Normally,you'll also do this//super.finalize();}}}public class TerminationCondition{public static void main(String[] args){Book novel = new Book(true);//Proper cleanupnovel.checkIn();//Drop the reference,forget to clean upnew Book(true);//force garbage collection & finalizationSystem.gc();}}?
?
未完,待续。。。。