Treflection02_getMethods()_getMethod()
1、
package reflectionZ; import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List; public class Treflection02
{
public static void main(String[] args) throws Exception
{
// 第15课
// getMethods()、getMethod() Class<?> clazz1 = Class.forName("reflectionZ.Cat"); // 通过Class对象来得到构造函数
Constructor<?> c2 = clazz1.getConstructor(String[].class);
String[] foods = {"鱼", "老鼠"};
//Cat cat2 = (Cat)c2.newInstance((Object)foods); // 强转
//cat2.Show(); Object obj = c2.newInstance((Object)foods);
/*
// 使用反射来调用 Show()
// 获取 Show()方法
// (1)、无参数
Method method = clazz1.getMethod("Show");
method.invoke(obj);
//*/
/*
// (2)、无参数
Method method = clazz1.getMethod("Show", null);
method.invoke(obj, null);
//*/
/*
// (3)、一个String参数
Method method = clazz1.getMethod("Show", Class.forName("java.lang.String"));
method.invoke(obj, "AA");
//*/
/*
// (4)、两个参数: String + int
Method method = clazz1.getMethod("Show", Class.forName("java.lang.String"));
method.invoke(obj, "BB", 2);
//*/
/*
// (5)、一个 List类型的参数
Method method = clazz1.getMethod("Show", List.class);
List list = new ArrayList();
list.add("A01");
list.add("A02");
list.add("A03");
method.invoke(obj, list);
//*/
//*
// (6)、一个参数: int
// 调用私有的函数
Method method = clazz1.getDeclaredMethod("Show", int.class);
method.setAccessible(true); // 暴力访问
method.invoke(obj, 5);
//*/
}
}
2、
Treflection02_getMethods()_getMethod()的更多相关文章
随机推荐
- Less-mixin函数基础一
//mixin函数 立即执行mixin函数,example: .test{ color:#ff00000; background:red; } //立即执行mixin grammar 1 扩展exte ...
- hdu 1677 Nested Dolls【贪心解嵌套娃娃问题】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=1677 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- 使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
上一篇讲了使用electron进行打包的配置相关文件,这篇主要讲electron中很重要的通信方式. 首先解释一个概念: electron打包的应用包含两个部分 electron的环境(node),也 ...
- java容器的线程安全性
参考:https://www.cnblogs.com/yjd_hycf_space/p/7760248.html 线程安全的: Vector HashTable StringBuffer 线程不安全的 ...
- 在Docker上安装配置Oracle教程
地址:https://github.com/wnameless/docker-oracle-xe-11g Docker shell 下: docker pull wnameless/oracle-xe ...
- POJ 3463 Sightseeing (次短路)
题意:求两点之间最短路的数目加上比最短路长度大1的路径数目 分析:可以转化为求最短路和次短路的问题,如果次短路比最短路大1,那么结果就是最短路数目加上次短路数目,否则就不加. 求解次短路的过程也是基于 ...
- SqlHelper简单实现(通过Expression和反射)7.MySql数据处理类
MySql的数据处理类和Sql Server没有太大差别,从思路上来说没有区别,所以此处只是给出代码,不再多加解释了. using System; using System.Configuration ...
- MySQL-5.7 Insert语句详解
1.语法 INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_ ...
- 分布式集群Session原理及实现共享
1.什么是Session/Cookie? 用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互.HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是 ...
- 20145201 实验四 Andoid开发基础
20145201 实验四 Andoid开发基础 AndroidStudio安装 首先设置环境变量: Windows环境下Android Studio v1.0安装: 安装完毕. 运行Andriod S ...