java动态代码片段
时间: 2023-07-10 14:22:17 浏览: 66
下面是一个简单的 Java 动态代码片段,用于创建一个具有指定属性的新对象:
```java
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
public class DynamicCodeSnippet {
public static void main(String[] args) throws NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// 获取类对象
Class<?> clazz = MyClass.class;
// 获取构造函数
Constructor<?> constructor = clazz.getConstructor(String.class, int.class);
// 创建新对象
Object myObject = constructor.newInstance("myName", 100);
// 输出属性值
System.out.println(((MyClass) myObject).name);
System.out.println(((MyClass) myObject).age);
}
public static class MyClass {
public String name;
public int age;
public MyClass(String name, int age) {
this.name = name;
this.age = age;
}
}
}
```
这个代码片段中,我们使用反射 API 获取一个类的构造函数,并使用它来创建一个新对象。然后我们输出对象的属性值,以验证新对象已成功创建并具有正确的属性。注意,这个示例中的 MyClass 类是静态嵌套类,可以在同一个文件中定义。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)