java 反射 动态代码_java利用反射动态加载方法

根据特定字符串加载相应的方法,有人用if else,有人用switch。参数少了或情况少了还好,很多方法真要命,不要紧,java反射拯救你

import java.lang.reflect.Method;

public class Test {

public static void main(String[] args) throws Exception {

Test t=new Test();

Class extends Test> c = t.getClass();//Returns the runtime class of this Object.即返回类

Object obj = c.newInstance();//Returns the runtime class of this Object即返回类对象

for (int i = 1; i <= 5; i++) {

//Returns a Method object that reflects the specified declared method of the class or interface represented by this Class object。

//即返回根据上述特定类或接口中的指定方法

Method m = c.getDeclaredMethod("method"+i);

m.invoke(obj);

}

}

@SuppressWarnings("unused")

private static void method1() {

System.out.println("方法1");

}

@SuppressWarnings("unused")

private static void method2() {

System.out.println("方法2");

}

@SuppressWarnings("unused")

private static void method3() {

System.out.println("方法3");

}

@SuppressWarnings("unused")

private static void method4() {

System.out.println("方法4");

}

@SuppressWarnings("unused")

private static void method5() {

System.out.println("方法5");

}

}

结果如下:

方法1

方法2

方法3

方法4

方法5

C&num; 利用反射动态加载dll

笔者遇到的一个问题,dll文件在客户端可以加载成功,在web端引用程序报错.解决方法:利用反射动态加载dll 头部引用加: using System.Reflection; 主要代码: Assembl ...

利用&OpenCurlyDoubleQuote;反射”动态加载R文件中的资源

前几天做一个Android下面数据库相关的应用.用ListVIew展示表中数据的时候我希望能给表中每一条记录,加一个展示的图片.但是用数据库保存图片是比较难搞的.于是就把所需图片都保存到res下的dr ...

java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象

java反射并不是什么高深技术,面向对象语言都有这个功能. 面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象,去获取类相关的信息 2.利用java反射可以调用类 ...

微信小程序(五) 利用模板动态加载数据

利用模板动态加载数据,其实是对上一节静态数据替换成动态数据:

java——Class、动态加载

Class和Object混淆了? Object: 任何类都是Object类的子类 Class: 任何类都是Class的实例对象 Class可以说是一种特殊的类,它表示的是类类型,Object仍然是Cl ...

Java之——Web项目中DLL文件动态加载方法

本文转自:https://blog.csdn.net/l1028386804/article/details/53903557 在Java Web项目中,我们经常会用到通过JNI调用dll动态库文件来 ...

java反射动态加载类Class&period;forName&lpar;&rpar;&semi;

1,所有的new出来的对象都是静态加载的,在程序编译的时候就会进行加载.而使用反射机制Class.forName是动态加载的,在运行时刻进行加载. 例子:直接上两个例子 public class Ca ...

C&num; 如何利用反射来加载程序集,并调用程序集中有关类的方法【转】

假设在C盘根目录下有个Dog的Dll程序集文件,该程序集文件中包含类Dog 该类中有个狗叫几声的方法,如何通过反射来加载这个C:\Dog.dll,并且调用Dog类里面的Sound方法呢: public ...

java反射--动态加载

Class.forName("类的全称") 1)不仅表示类的类类型,还表示了动态加载类 2)请区分编译,运行 3)编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 比如下面: ...

随机推荐

HTML5应用程序缓存Application Cache

什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...

iOS、Xcode监测键盘的显示和隐藏变化,并获得键盘高度,改变tableView的frame和偏移

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值