物件照鏡子後可以得到的資訊:某個類的屬性、方法和構造器、某個類到底實現了哪些介面,對於每個類而言,jre都為其保留乙個不變的class型別的物件。乙個class物件包含了特定某個結構(class\inte***ce\enum\annotation\primitive type\void)的有關資訊
static classforname(string name) 返回指定類名name的class物件
object newinstance() 呼叫預設建構函式,返回class物件的乙個例項
getname() 返回此class物件所表示的實體(類、介面、陣列類或void)的名稱
class getsuperclass() 返回當前class物件的父類的class物件
class getinte***ces() 獲得當前class物件的介面
classloader getclassloader 返回該類的類載入器
constructor getconstructors() 返回乙個包含某些contstructor物件的陣列
method getmethod(string name,class…t) 返回乙個method物件,此物件的形參型別為paramtype
field getdeclaredfield() 返回field物件的乙個陣列
package com.faq.reflection;
//測試class類的建立方式
public
class
test03
}class
person
public
person
(string name)
}class
student
extends
person
}class
teacher
extends
person
}輸出:
這個人是學生
460141958
460141958
460141958
1163157884
class
com.faq.reflection.person
註解與反射6得到Class類的幾種方式
物件照鏡子後可以看到的資訊 某個類的屬性,方法,和構造器,某個類到底實現了哪些介面。對於每個類而言,jre都為其保留乙個不變的class型別的物件。乙個class物件包含了特定某個結構就有關資訊。public class test class person public void setname s...
得到Class類的幾種方式
方式一 通過物件獲得 class c1 person.getclass system.out.println c1.hashcode 方式二 forname獲得 class c2 class.forname com.company.student system.out.println c2.hash...
得到乙個類的class物件
1.class的forname 方法的返回值就是class型別 2.class 類名 clazz 類名.class,例子 classclazz student.class 3.object 類中有乙個名為getclass的成員方法,返回的是物件執行時類的class物件。student stu new...