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
类型的变量。然后,我们使用反射来获取这个对象的类信息、方法、字段等。虽然我们不知道具体的类型,但是通过反射,我们仍然可以获取到这些信息。