API的學習:
構造方法
常用方法:
什麼時候調用
跟什麼有關
用來做什麼的
得到的是什麼
Object:
- 所有類的父類,所有類都預設繼承Object,也就意味着預設繼承Object中所有方法
- 隻有一個無參構造方法,沒有靜态常量,所有方法都必須通過對象調用
- Object共有11個方法
A.Class<?> getClass() 獲得類的位元組碼對象
作用:通過對象的該方法,可以擷取對象的位元組碼檔案
類加載的觸發條件(使用類)
- 執行個體化對象
- 調用靜态變量/方法
- 使用子類,加載父類
- Class.forName(“類全名”) -- jdbc
- 對象.getClass
B.clone() 深克隆

調用1.方法必須重寫 2必須實作Cloneable接口,否則會抛出異常
注意:一般不會重寫clone()可以使用引用的指派進行複制 Cloneable接口是空接口 隻是标記
C protected void finalize()
a記憶體溢出和記憶體洩露
記憶體溢出:記憶體中沒有存儲的地方
記憶體洩露:記憶體被無用的對象占用
b.java存在垃圾回收機制 – gc
gc:定時清理記憶體中的對象
- 垃圾:沒有引用的對象
- 可以手動調用 System.gc
- 注意:java原則上不存在記憶體溢出和洩露
D toString()
a.作用:将對象以字元串的形式輸出
b.原内容:getClass().getName()+“@”+Integer.toHexString(hashCode());
@前:全類名 –>包名 + 類名
@後:16進制的位址值
c.方法的重寫 目的:
E.boolean equals(Object obj)
a.作用:判斷兩個對象[this obj]是否相等
b.預設實作:判斷兩個對象的位址值是否相等 重寫後 判斷内容是否相等
c.既不是既不是同一個對象,也不是同一個類型的情況
F. int hashCode() -
public native int hashCode();
native:本地 ->底層下是c++實作的代碼
G.wait() *3/notify()/notifyAll()/ 線程相關
跟時間相關的類:
Date:long可以表示時間
- 擷取方式:long time = System.currentTimeMills();
- 作用: a.短時間(7天内)的運算 b代碼效率的對比
- 注意:在進行計算時,需要注意整數類型的預設值是int類型,如果超出int範圍,會變成負數,是以在運算前标記為long類型
Date類
- 作用:隻能用來做時間的顯示
- 建立:a. new Date() ->擷取目前系統時間 b new Date(long time)—>獲得任一時間段的值
- 常用API setTime() getTime()
- 和long的轉換 long->Date
Calendar類:
- 作用:專門用來做時間的推算或者時間的跳轉
- 特點:a. Calendar類是abstract類,不能new對象 b. 使用方法:1.Calendar實作類調用靜态方法調用
- 常用API:
Date getTime() -> Calendar轉換成Date
Void setTime(Date)->Date轉換成Calendar
get()->擷取
set()->設定,時間的跳轉
add()->時間的推算