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基础]反射案列相关推荐

  1. Java Web应用案列:蒙西购物1

    Java Web应用案列:蒙西购物 功能需求 1.只有注册用户成功登录之后才可查看商品类别,查看商品,选购商品,生成订单.查看订单. 2.只有管理员才有权限进行购物网后台管理(用户管理+类别管理+商品 ...

  2. [Java基础] 反射机制汇总

    引言 初学Java反射机制的时候,只是感觉很神奇,但是不知道学了该怎么用,所以过了一段时间就忘得差不多了:最近接触到了框架,在学习中遇到了反射,深深体会到了反射机制的神奇,回来复习了一下反射机制,写一 ...

  3. 16、Java 基础-反射

    Java 反射 1.反射 反射是指程序可以访问.检测.修改它本身的状态或行为的一种能力. 2.Java的反射机制 java的反射机制是指在程序的运行状态中,给定任意一个类,都可以获取到这个累的属性和方 ...

  4. java基础反射知识总结_非常好的Java基础反射总结

    前言疯狂复习基础ing- 最近复习的Jv基础反射做了应该总结,果然反射不只有那么一点点东西,多的是精髓! 最重要的是最后推荐的那两篇文章,写的非常非常好!!反射 1.反射的原理Jv反射机制就是在运行状 ...

  5. Java基础-反射机制

    目录 1.反射机制概述 2.获取class的三种方式 2.1.Class.forName()方式 2.2.obj.getClass()方式 2.3..class方式 3.通过反射实例化对象 4.通过读 ...

  6. Java基础—反射—简单介绍

    一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见的 JavaScript 就是动态语言,除此之外 Ruby,Python 等也属于 ...

  7. [Java基础]反射获取成员方法并使用

    代码如下: package ClassObjectPack01;import ClassObjectPack.Student;import java.lang.reflect.Constructor; ...

  8. [Java基础]反射获取成员变量并使用

    代码如下: package ClassObjectPack;public class Student {private String name;int age;public String addres ...

  9. [Java基础]反射获取构造方法并使用练习

    Student类代码如下: package ClassObjectPack;public class Student {private String name;int age;public Strin ...

最新文章

  1. 2109春第一次课程设计实验报告
  2. input限制输入小数点后两位(vue版本)
  3. mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数
  4. 男女薪酬差异扩大 2018年女性薪酬不及男性8成?
  5. linux登录pg数据库密码,PostgreSQL:修改数据库用户的密码
  6. dev控件ASPxComboBox设置ReadOnly=true后
  7. DCGAN-深度卷积生成对抗网络-转置卷积
  8. 乌班图服务器应用,Ubuntu下安装Apache
  9. 【Java必备技能四】如何使用泛型?
  10. matlab序列码,Matlab7 R14(sn 序列号)
  11. FunCode---游戏设计之Fireman(火柴人大战)
  12. 使用HBuilderX将H5网页打包成APP
  13. HTML5制作网页版个人简历
  14. 光电式液位传感器和电容式液位传感器的区别
  15. 图解“华为云潮汕火锅”的“牛里乾坤”
  16. 自动写作ai-自动写作神器
  17. 【C++面向对象程序设计——侯捷大师】心得摘要
  18. 趣谈implicit instantiation of undefined template
  19. 吐槽下Arcgis的二次开发
  20. 用username.github.io在github创建一个个人空间

热门文章

  1. Redis常用配置参数详解及查看修改命令
  2. 【ArcGIS微课1000例】0014:ArcGIS中如何将kml(kmz)文件转shp,并进行投影转换?
  3. 【PhotoScan精品教程】任务三:生成密集点云、生成网格、生成DEM、生成DOM
  4. ArcGIS实验教程——实验十二:栅格数据投影变换
  5. C语言之获取32字节随机数的字符串
  6. php基础教程 第十一步 面向对象
  7. java openxml 操作 word,openxml word转成xml
  8. go kegg_GO,KEGG富集分析工具——DAVID
  9. python程序 爱意_[Python]快学学怎么Python爬一段情书送女朋友吧
  10. 12年前的高考到底有多难,只在这一道题上就看出来了...