任何一個類都是Class類的實例對象,這個實例對象有三種表示方式
第一種表示方式(任何一個類都有一個隱含的靜態成員變量class):
1
|
Class c1 = Foo. class ; |
第二種表示方式(已知該類對象,通過getClass方法):
1
|
Foo foo1 = new Foo(); 2 Class c2 = foo1.getClass(); |
※ c1、c2表示了Foo類的類類型(class type)
第三種表示方式
1
2
3
4
5
6
|
Class c3 = null ; try { c3 = Class.forName( "com.format.test.Foo" ); } catch (ClassNotFoundException e) { e.printStackTrace(); } |
※ 通過類的類型創建該類的對象實例
1
2
3
4
5
6
7
|
try { Foo foo2 = (Foo) c1.newInstance(); //需要有無參構造 } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } |
以上這篇老生常談反射之Class類的使用(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。