概述
为什么80%的码农都做不了架构师?>>>
//java 实现反射
//首先定义一个接口Ishow.java
public interface Ishow(){
void show(String str);
}
//建立一个demo.java文件实现接口
public class demo implements Ishow{
public void show(String str){
Ssytem.out.println(str);
}
}
//建立test.java文件来测试
public class test{
public static void main(String args[]){
String str ="p1.demo"; //包名+反射的类名
try(){
Class c1 =Class.forname(str);
try(){
Ishow a =(Ishow)c1.newInstance(); // 类加载机制
a.show("qq");
}catch(InstantiationException e){
e.printStackTrace();
}catch(IllegalAccessException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
}
}
//java实现动态配置 实现反射
//Ishow 和demo 不变
public interface Ishow(){
void show(String str);
}
public class demo implements Ishow{
public void show(String str){
Ssytem.out.println(str);
}
}
建立PropertiesUtil.java
import java.util.Properties;
public class PropertiesUtil{
Properties p = new Properties(); //new 一个properties对象
try(){
p.load(PropertiesUtil.class.getResourceAsStream("show.properties"));加载show.properties
}catch(IOException e){
e.printStackTrace();
}
return p;
}
//建立 show.properties文件
show=p1.demo
//建立test.java文件来测试
public class test{
public static void main(String args[]){
//此处的包+类名是通过动态文件show.properties来加载的
Properties p =Properties.getShowProperties();
String str = p.getProperty("show");
try(){
Class c1 =Class.forname(str);
try(){
Ishow a =(Ishow)c1.newInstance(); // 类加载机制
a.show("qq");
}catch(InstantiationException e){
e.printStackTrace();
}catch(IllegalAccessException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
}
}
转载于:https://my.oschina.net/kakoi/blog/519142
最后
以上就是俊秀帅哥为你收集整理的java实现反射,动态配置的全部内容,希望文章能够帮你解决java实现反射,动态配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复