獲取Class物件的方法及Class型別的一些討論

2021-09-25 01:24:37 字數 1091 閱讀 8925

(1)class.forname(classname)

(2)classname.class 如果是陣列,則是陣列型別.class

(3)物件.getclass()

例:

1 string path = packagename.classname; //

包名,類名

23 class c1 =class.forname(path);

4system.out.println(c1.hashcode());

56 class c2 =class.forname(path);

7 system.out.println(c2.hashcode());//

c1和c2的hashcode相同

89 class c3 = string.class

;10 class c4 = path.getclass();//

path是乙個string,所以就表示是string類

11 system.out.println(c3==c4);//

true

基本型別也有類物件,而且和它的包裝類不是同乙個型別。

如:

1 class c5 = int.class

;

2 class c6 = integer.class

;

3 system.out.println(c5==c6); //

false

某個類(包括基本陣列型別)的陣列和它本身的類物件也是不同的,陣列的維數不同類物件也不同。

如:

1 class c7 = int.class

;

2 class c8 = new

int[3].getclass();

3 system.out.println(c7==c8); //

false

45 class c9 = new

int[3][4].getclass();

6 system.out.println(c8==c9); //

false

如何獲取Class物件

1.1 object getclass 1.2 任何資料型別 包括基本資料型別 都有乙個 靜態 的class屬性 1.3 通過class類的靜態方法 forname string classname 常用 public class fanshe catch classnotfoundexceptio...

Java反射 獲取Class及Class對應資訊

1.獲取構造器 constructor getconstructor class.parametertypes 返回 public 指定形參的 constructor getconstructors 返回 public 所有的constructor getdeclaredconstructor cl...

java反射之獲取Class物件

一 非基本資料型別 1 呼叫靜態方法class.forname string classname 引數為完整的類名,包括包的名字。class.forname p1.person p1是包名,person是類名 class.forname oracle.jdbc.driver.oracledriver...