背景:需要在程式運行時或者說某段代碼運行后才能知道要創建哪個類的物件,
import java.util.Random;
/**
* @Author: Yeman
* @Date: 2021-10-02-22:18
* @Description:
*/
public class ReflectionTest {
public static Object getInstance(String path) throws Exception {
Class<?> clazz = Class.forName(path); //根據全類名獲取類
Object o = clazz.newInstance(); //創建指定運行時類的物件
return o;
}
public static void main(String[] args) {
String path = null;
for (int i = 0; i < 10; i++) {
int c = new Random().nextInt(3); //隨機產生0,1,2
//根據產生的情況指定所要創建的類
switch (c){
case 0 :
path = "java.util.Date";
break;
case 1 :
path = "Person";
break;
case 2 :
path = "java.lang.Object";
break;
}
try {
Object instance = getInstance(path);
System.out.println(instance);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/305184.html
標籤:java
上一篇:堆疊和佇列相關面試題
下一篇:C語言——程式的編譯
