Java反射機制可以處理未知類型。通過反射,我們可以在運行時獲取類的信息、創建對象、調用方法等操作。即使我們不知道具體的類型,也可以通過反射來處理。
例如,如果我們有一個Object
類型的變量,我們可以使用反射來獲取它的類信息、方法、字段等。這里有一個簡單的例子:
public class ReflectionExample {
public static void main(String[] args) {
Object obj = new String("Hello, World!");
// 獲取類的Class對象
Class<?> clazz = obj.getClass();
// 獲取類名
String className = clazz.getName();
System.out.println("類名: " + className);
// 獲取類的所有方法
Method[] methods = clazz.getMethods();
System.out.println("方法:");
for (Method method : methods) {
System.out.println(method);
}
// 獲取類的所有字段
Field[] fields = clazz.getFields();
System.out.println("字段:");
for (Field field : fields) {
System.out.println(field);
}
}
}
在這個例子中,我們創建了一個String
類型的對象,并將其賦值給一個Object
類型的變量。然后,我們使用反射來獲取這個對象的類信息、方法、字段等。雖然我們不知道具體的類型,但是通過反射,我們仍然可以獲取到這些信息。