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,iVBORw0KGgoAAAANSUhEUgAAAs8AAABVCAIAAAA5cp7sAAALL0lEQVR4nO3dzZWrRhCGYdJiAiIdFIKjYOUQHIDPwRtv7Ay8lRcSUNVd1d2IrivNve+z8JlB/DRFCT6QPHf4+5///v7nvz//+nf5/Y87AABAbwNpAwAAhCJtAACAWKQNAAAQi7QBAABikTYAAEAs0gYAAIhF2gAAALFIGwAAIBZpAwAAxCJtAACAWKQNAAAQi7QBAABikTYAAEAs0gYAAIhF2gAAALFIGwAAIBZpAwAAxCJtAACAWKQNAAAQ65PSxjqPwzivkZtYpugt4H6/3+/LNEzL/dox/QH98PM5irYdgl+N1zbHe3+dx29UGme0p94dvJXeZJmGiv3QrvP4sx8i0kZldrc5rlGnkGMz01Ic43NGuWBIwdZ5vLinb0sbzxK5y4lDqnYwL+U6j90Pe3dqkMM4r/3SRumaLDabVtHuZKdTOzRwtooraWOZSsda753zmr8/TUWz+/Bk2miuyWc79twunVPz7CCq07hXBu/oJPIOaVzwubA7Sz1slDd0qkTOq/ps8nyh40XmStr4hFuEk2N4sXKvnbj9scnOMobkNl46jqC0sc7jOF47ti9f6no0lVeW5EyxTHKurOhiwueerAvlupY2Sie/ZdrLKCtT7GR7fT0auPWesJI21nkchnGaCkHE3YyogqhNuvy+uNy+FQzypHD2QP4M98nHPpilM2tuH8SGLnNaOh1QvnLnsLpb8WbwH4KUilAeRrkta02r1tOnm0gbjYv1TBtidc6BdDb4Y9LGY0zXLlYfmDbc68CxZbWU+v1TP4KLShvFhWUx9p9rnWy+3qWsjSfDpk9SvJeK21ALtTTwvjZrtUYfnj+Q3z9uOB247Vip5mnF2tJG6f5PD6DQPOXtuO8qfW7St0GnN9RSonrTpk/fe1zpT6aN4xG7yGIiIOmnNo8BL9Nz0jIN47w8H9Y8n7Smz3Ee+7RMwzjP+tVt6+JhUcsY9GzyhRM3rHmxjQ3p0eVjk0UUFTp2VO9pSwiR74u0OGr3jl/qz/22bas3nTiUallvuvwkxfjEKH9yZxxQZ9n0k6S8T8zThXcO0aXR56x8lUlLewOT08d5Tq5zYnHjcNTeJtnonZOIbJZqu+arlYfoOcN+TtxqJnqs3snWabpPA+s1u21jnGiea3MWTuph7N2+Ef3wuuHatu2isVrz2pm9xSpnS78mr9ZZfy4mesIoh9ojs4Wcc7WuuP18cjtVuDU30obf6mKZpKX9GV/N98s0jGO+/nRfq2mj/Dl1sUT7IpWmzSraI7w2po2t9dzQnZ429mIMyTv/Mdfj+B/Pe5Irk3jkLdt/EukzXdgbg0qNy2TsQrkLt+W8rLxtqJYO7bXJZ/uqdezG9dOGVRzjZs6sYbaN4zqaXArksMWjS2N6njay2lcPqLes2kreJy+njaS+OhSqc7DTUHpg6uyu4pW4pTAqUHubZKNXF1MjbTS2a1Iseat13Cxkwf9MJ5uhvUsDyzXrtrEO1TZH3pJeXdy9M5appg31DvM+k9JJwXiLVc6WXk1er7Pc4DiOe4f6V6kkEK16z43Z9Hrs42DeGZTTxl2+4B6bxmuBu/K2lPm8iyrOWkkb+nAZWa9UIpmqCk1r/F4uS5OGtCGjafZCllNlXC3skfVz1pzbVvynG9UxJFUrXXIK5cxyoLGzj6ly7aX7JKMM6jc7TPppwyxOXlhztnQT1ujM+63C9CxtOJUvHVB3WfMFUbFTaSOdSZ2hs7svvb/ewNyuczKpedRKP+elyCeIW5ymdtUrSc81cuakL7b11Ts5O2d1a2CxZq9tkqMwmWnbTxv23hm7VW60NAHZq7WTgvq1fra0arL/9kKdj+4e5/VxRcxOU3az3dMWcmcT286KmJbufNoQM+4jyFLTcQlP5imt3Lt3y+YS5zaVOYt0k5QvVG0lOlvAPg83Tj7bUGPQV3pjMF3TRnqLaKWN6jXGujxk+5VrP508VmiGS2tt+iA6pxtvHEkZjCvanqXlrbV/4btbnW/eWfdIG9UDWkob+Z1VLW00x41i4KumDePS66YNuwIBaaOpXZMyyLVml4q8ads6ORlLxwY2alw8CuYj7aY7hMqNYOFSl10q/NXWg37DvZlRk0t1Xp9f6NqP95K9RdxmK7WQU6r0xiptSbfmLWmjNLk4OmPlbVHjnu6UewV3n22ciBr3WlsWXrV38cc825DUMwA5qCRUmZeoa2kjef8ZV0FzDHKifA/JDFtlnHzTDa3znJalkDasQcjx+LdYyZvqiMdGcR7FmybrMqxms/dM/p4deHmVMKZnaUOtepnntX5A9bLWSfRU2kgO//amTtpAnXGrV6PCwMyuc8OKLl3XtNHarpLa1n4pEilajuo40vVOXtMnld0aeF+z3XLWUTDeA/lpN9vn/Uf9avG+K62aMbHUh9ZbrCFtGDW5VudV/M9qj5+zwZsn4ayFnNkE5ySpS+fUPHuTyiuEeXTsljYZyabxKtJ8zTbThrUh5z1pDHUvUUPTGi1citAnXPp7G487IzH45Plm17QhNiD/L6TaGOTtuvy+3ilZl1gbOrajTg1Gf2ePSqwxOznlOI+qBeziZCdUbzYxFD1tm7LOz4fPyUi96XnakBsXSaVwQFX7yIcucuKJtGGvJn2fyn5rufc1B6Z2LvuWqDXTUYHuaaO1XZO9yoKevtIZS7d08rOqAQ28Ha/0BqR8FJbtqzFyn7ahZRchtXdpqPKreddt8uzv8nHQSSF/i7WkDaMm1+qcRA+1+3kpSi1kn6t1wY5roVk6o+bWQZRrKD+yKI7HXrl7WE0X0oa5ob3s7SWqNq2ZW/o82viov+716zAvZA0vdzroL/DCbafQ21f9OW1J/126Np73qLTo62uJ65jnmj+yJV/QZT++cU36dOBHufJs4426HQnSxnsU3v71O/M3nDe+Tdp4lujSu+N6qFvnUT1E+KyzR5vrh9b/kDyoZZZpmOYzj7bDpDebL+1wl0J9Tk1O+7iTyy+p470SaQMtvk3a+BTises3PM9/T+8L45+LmuBjkDYAAECsStr4DQAA4BqebQAAgFikDQAAEIu0AQAAYp1IG8MwnFv1MJxdxNuit57H9ItbAQAAoV5JG4MjeVUu6M1pzpBv8e5EimocAQAAb3f12UY+sTolzxAtCaNx6wAA4NM0pQ3v2cP9ctqQU7z/FkbijGq9fQ3ZH7Q5/rrf1201purpAACgl7c92/CecJTTRn1IyzQMX7db+s+LHX8EeL192bmi+d8NBgAAZ4SkjeSRg/dsI/mh8N/8mYqz9fX2tf3Dym5yKMUNHm8AANDd6bTxrk9SZDTxcsyhlDac19bbF482AAAIcC5tvJAt8intn6GYaeOuk4c9Vj9tPD5pWZMpfG8DAIAw574lar50dsob08Z6+yqECr64AQBAhMBvibZ/byP/tTFteKMyg0M5ajyX4vkGAAC9BX5LNJ8neakcLwozVBc00kb+CUpqvX3xbAMAgP7e8H/AmhMLEWT/ufBF0f0l+fczhmHY4kM2+Tn98Zc5+N4GAACB+qeNFxZs/9n8Bkk+BQAAfI7XvyVqTvQWP/tq+8pbNgEAAN6If3EeAADEIm0AAIBYpA0AABCLtAEAAGKRNgAAQCzSBgAAiEXaAAAAsUgbAAAgFmkDAADEIm0AAIBYpA0AABCLtAEAAGKRNgAAQCzSBgAAiEXaAAAAsUgbAAAgFmkDAADEIm0AAIBYpA0AABCLtAEAAGKRNgAAQCzSBgAAiEXaAAAAsUgbAAAgFmkDAADEIm0AAIBYpA0AABCLtAEAAGKRNgAAQCzSBgAAiEXaAAAAsUgbAAAgFmkDAADE+h8gnREe/QvBRQAAAABJRU5ErkJggg==" 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 ...
随机推荐
- Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件
为sublime text 添加LESS语法高亮 功能:LESS高亮插件 下载 https://packagecontrol.io/packages/LESS 简介:用LESS的同学都知道,s ...
- 服务器返回的JSON字符串
异步请求将type设为"json",或者利 用$.getJSON()方法获得服务器返回,那么就不需要eval()方法,因为这时候得到的结果已经是json对象
- phpstorm配置Xdebug进行调试PHP教程
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...
- zend studio 9.0.4 安装破解
转载于 http://www.geekso.com/ZendStudio9-key 注册破解步骤第一步:如果已经安装过Zend Studio 9.0.4的,请打开Zend Studio 9.0.4,在 ...
- 服务器慢 mysql-bin.000001文件占满磁盘的原因与解决
发现 VPS 服务器上的网站反应超级慢,简单的重启.重启各主要服务,发现mysql 的反应极其不正常. 一方面是问题,这与站点访问量有关.开始时从mysql 的配置文件 my.cnf 考虑,但志文工作 ...
- JavaScript模块化开发实例
最近接触了一些JavaScript开发的例子,在这里与大家一起分享一下: 例子:当我们一个团队在写Js文件的时候,你一个人写的JS代码自己可以看懂也可以维护,但是别人想对你的JS进行扩展的话,如果都在 ...
- Java集合类操作优化总结
清单 1.集合类之间关系 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHas ...
- 文档学习 - UILabel - 属性详解
#import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...
- 如何跳到系统设置界面-b
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"]; if ([[UIApplication sharedApplicati ...
- CSAPP(深入理解计算机系统)读后感
9月到10月8号,包括国庆七天,大概每天5小时以上的时间,把Computer System: A Programmer Perspective 2rd version(深入理解计算机系统)的英文版啃完 ...