1. 區(qū)分重載方法
規(guī)則很簡單,每個重載的方法都必須有一個獨一無二的參數(shù)類型列表滔韵。
以返回值來區(qū)分重載方法是行不通的。
2. this用法
- 在構(gòu)造器中調(diào)用構(gòu)造器
- this.a=a;
3. static
static方法就是沒有this的方法。在static方法的內(nèi)部不能調(diào)用非靜態(tài)方法拼卵,反過來是可以的。
4. 清理:終結(jié)處理和垃圾回收
Java允許在類中定義一個名為finalize()的方法蛮艰。它的工作原理"假定"是這樣的:一旦垃圾回收器準(zhǔn)備好釋放對象占用的存儲空間腋腮,將首先調(diào)用其finalize()方法,并且在下一次垃圾回收動作發(fā)生時壤蚜,才會真正回收對象占用的內(nèi)存即寡。
Java里的對象并非總是被垃圾回收⊥嗨ⅲ或者換句話說:
- 對象可能不被垃圾回收聪富。
- 垃圾回收并不等于“析構(gòu)”。
- 垃圾回收只與內(nèi)存有關(guān)著蟹。
5. 構(gòu)造器初始化
5.1 初始化順序
在類的內(nèi)部墩蔓,變量定義的先后順序決定了初始化的順序。即使變量定義散布于方法定義之間萧豆,它們?nèi)耘f會在任何方法(包括構(gòu)造器)被調(diào)用之前得到初始化奸披。
5.2靜態(tài)數(shù)據(jù)的初始化
無論創(chuàng)建多少個對象,靜態(tài)數(shù)據(jù)都只占用一份存儲區(qū)域涮雷。
初始化的順序是先靜態(tài)對象(如果它們尚未因前面的對象創(chuàng)建過程而被初始化)阵面,而后是"非靜態(tài)"對象。