📄 test2.java
字号:
package fanshe;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class Test2 {
public static void main(String[] args)throws Exception {
/*
* 反射为配置文件改变模块行为提供了可能
* */
String className = "fanshe.Customer";
Class c = Class.forName(className);
//c.newInstance();//表示调用不带参数的构造函数
//生成一个对象:用构造函数
Constructor con1 =
c.getConstructor(new Class[]{Class.forName("java.lang.String"),
Class.forName("java.lang.String")});//得到不带参数的构造函数
//生成对象
Object obj =
con1.newInstance(new Object[]{"1111","2222"});//new Object[]{"1111","2222"}表示传入参数
//怎样调用obj里面的方法?
Method met = c.getMethod("printInfo", new Class[]{});//得到方法
met.invoke(obj, new Object[]{});//调用
Customer cus = new Customer("1111","2222");
cus.printInfo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -