java利用反射调用类的某个方法
java利用反射机制 可以动态调用某个类的某个方法,在 扩展系统功能或提供对外接口时经常用的到。
代码如下:
打印类Print.java
package com.test.reflct;
/**
* 打印类
*
* @date 2015-8-12 下午2:18:42
*/
public class Print { public static void print(String str){
System.out.println("打印测试"+str);
}
}
调用类Test.java:
package com.test.reflct; import java.lang.reflect.Method; public class Test { /**
*
* @return void
*/
public static void main(String[] args) { try {
//加载类
Class<?> printClass = Class.forName("com.test.reflct.Print");
//获取方法
Method printMethod = printClass.getMethod("print",String.class);
//调用
printMethod.invoke(printClass.newInstance(),"123");
} catch (Exception e) {
e.printStackTrace();
} } }
运行后截图:
aaarticlea/png;base64,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" alt="" />
java利用反射调用类的某个方法的更多相关文章
- C# 利用反射调用类下的方法
namespace TestReflection { public partial class Form1 : Form { public Form1() { InitializeComponent( ...
- java利用反射获取类的属性及类型
java利用反射获取类的属性及类型. import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Map ...
- java利用反射访问类的私有(private)属性及方法
Java语言中,在一个类中,为了不让外界访问到有的属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的 ...
- Java利用反射取得类的所有信息
Java中可以利用反射获取类的名称.构造函数.属性.方法.也就是说可以通过反射可以取得类的所有信息(不管该成员是否封装为private). 如有下面的Dept类定义: package org.lyk. ...
- C#如何通过反射调用类下的方法
首先模拟一个mvc的项目,创建一个业务类(HomeService),在类下创建3个方法 public class HomeService { /// <summary> /// 无参方法 ...
- java通过反射调用不同参数的方法
import java.lang.reflect.Method; public class testReflect { /** * @param args */ public static void ...
- Java_通过反射调用类中的方法
先上一个基本的封装: /** * 获取classType * * @param type * @param provinceCode * @param cityCode * @return * @th ...
- Java基础反射-调用类
Student类 package com.test.wang; import java.lang.reflect.Constructor; import java.lang.reflect.Field ...
- java通过反射调用有参数的方法
public static void eachCfg(Class Initclass,String taskType){ Field[] fields = Initclass.getDeclaredF ...
随机推荐
- 响应式页面字体用什么单位:rem
html:62.5%//10pxbody:1.4rem;//14px... <!doctype html> <html> <head> <title>a ...
- Consistent Hashing原理与实现
原理介绍: consistent hashing原理介绍来自博客:http://blog.csdn.net/sparkliang/article/details/5279393, 多谢博主的分享 co ...
- APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸
初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS也保持不变. 那时编写iOS的App( ...
- Z-stack之OSAL初始化流程
转自点击打开链接 我使用的协议栈版本及例子信息: ZigBee2006\Texas Instruments\ZStack-1.4.3-1.2.1\Projects\zstack\Samples\Sam ...
- fzu 2037 Maximum Value Problem
http://acm.fzu.edu.cn/problem.php?pid=2037 思路:找规律,找出递推公式f[n]=f[n-1]*n+(n-1)!,另一个的结果也是一个递推,s[n]=s[n-1 ...
- 【网络流24题】No.9 方格取数问题 (二分图点权最大独立集)
[题意] 在一个有 m*n 个方格的棋盘中, 每个方格中有一个正整数. 现要从方格中取数, 使任意 2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. 输入文件示例inp ...
- java学习之创建线程方法二
我们上一节当中讲到了创建线程的第一种方法,就是继承Thread类,覆写Thread当中的run方法,然后创建子类对象,之后调用对象的start方法启动线程.但是这种方法有一个缺陷,因为我们知道在jav ...
- LintCode 38. Search a 2D Matrix II
Write an efficient algorithm that searches for a value in an m x n matrix, return the occurrence of ...
- Javascript 探路
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- the private key for is not installed on this mac
the private key for is not installed on this mac 如果提交 时出现这个问题, 有可能是 keychain重复了, 1:要去keychain中把旧的删除, ...