[Java基础]反射案列
生活随笔
收集整理的這篇文章主要介紹了
[Java基础]反射案列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pro.properties文件(該文件與ReflectTest01同處在同一個文件夾);
className = domain.Person methodName = eat代碼如下:
package domain;public class Student {public void sleep(){System.out.println("sleep...");} } package domain;public class Person {private String name;private int age;public String a;protected String b;String c;private String d;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +", a='" + a + '\'' +", b='" + b + '\'' +", c='" + c + '\'' +", d='" + d + '\'' +'}';}public void eat(){System.out.println("eat...");}public void eat(String food){System.out.println("eat..."+food);}} package domain01;import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; import java.util.Properties;public class ReflectTest {public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { // Person p = new Person(); // p.eat();// Student t = new Student(); // t.sleep();//1.加載配置文件//1.1創建Properties對象Properties pro = new Properties();//1.2加載配置文件,轉換為一個集合//1.2.1獲取class目錄下的配置文件ClassLoader classLoader = ReflectTest.class.getClassLoader();InputStream is = classLoader.getResourceAsStream("pro.properties");pro.load(is);//2.獲取配置文件中定義的數據String className = pro.getProperty("className");String methodName = pro.getProperty("methodName");//3.加載該類進內存Class c = Class.forName(className);//4.創建對象Constructor<?> con = c.getConstructor();Object obj = con.newInstance();//5.獲取方法對象Method method = c.getMethod(methodName);//6.執行方法method.invoke(obj);} }測試結果:
總結
以上是生活随笔為你收集整理的[Java基础]反射案列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Java基础]Junit测试
- 下一篇: 木瓜怎样吃丰胸最好