1,類的修飾符:public(同一個包內使用) abstract(無執行個體) final(不能做父類)
2,Object類有equals方法,clone方法和toString方法。字串+該對象時,自動調用toString方法。clone方法分配新的記憶體空間並在空間內bit-by-bit複製對象。
3,Java維護了一個“運行時類型標識”(run time type identification)它跟蹤每個對象所屬的類,這就保證了在運行時準確選中當前方法。儲存相關標識資訊的類叫做Class類。Object類的getClass方法可以返回一個Class類的執行個體。getClass()返回類類型的toString(),getName()傳回型別名稱。.class只能被類當作靜態變數使用,不能作為執行個體變數。
以下轉載:
擷取Class執行個體的三種方式:
1)利用對象調用getClass()方法擷取該對象的Class執行個體。
2)使用Class類的靜態方法forName(),用類的名字擷取一個Class執行個體。
3)運用.class的方式來擷取Class執行個體,對於基礎資料型別 (Elementary Data Type)的封裝類,還可以採用.TYPE來擷取相對應的基礎資料型別 (Elementary Data Type)的Class執行個體。關鍵字instanceof返回一個布爾值,判斷是不是某個特定類型的執行個體。
Class.newInstance()使用所選的Class對象產生該類的新執行個體。它調用了預設(無參數)的類構造器產生新的對象。所以使用newInstance()建立的類必須有一個預設構造器。
如果有一個Class對象,那麼就可以通過getSuperclass()擷取它的直接基類。這個方法自然也是返回一個Class引用,所以可以進一步查詢其基類。這意味著在運行時,可以找到一個對象完整的類階層。
例子:
class heihei{
}
class haha{
public static void main(String args[]) {
heihei hoho = new heihei();
// System.out.println(hoho.class);
System.out.println(hoho.getClass());
System.out.println(hoho.getClass().getName());
// System.out.println(hoho.class.getName());
System.out.println(heihei.class.getName());
System.out.println(heihei.class); }}