Java反射机制困惑:类加载和方法调用示例
Java的反射机制主要涉及类加载、对象创建和方法调用等方面。下面通过一个简单的示例来说明这些过程。
- 类加载:
假设我们有一个类MyClass
,这个类位于com/example/myclass.java
文件中。当我们需要使用这个类时,Java虚拟机(JVM)会自动负责类的加载:
// 使用Class.forName()方法加载类
Class<MyClass> clazz = Class.forName("com.example.myclass", true, Thread.currentThread().getContextClassLoader());
- 对象创建:
加载完MyClass
后,我们可以使用newInstance()
方法创建一个对象:
// 创建MyClass的对象
MyClass obj = clazz.newInstance();
- 方法调用:
现在我们有了一个MyClass
的实例obj
,我们可以通过以下方式调用类的方法:
// 调用MyClass的方法
int result = obj.myMethod(10, "Hello"));
System.out.println(result); // 输出:25
以上就是Java反射机制中类加载和方法调用的基本过程。
还没有评论,来说两句吧...