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()的更多相关文章
随机推荐
- 动态代理:JDK原生动态代理(Java Proxy)和CGLIB动态代理原理+附静态态代理
本文只是对原文的梳理总结,以及自行理解.自己总结的比较简单,而且不深入,不如直接看原文.不过自己梳理一遍更有助于理解. 详细可参考原文:http://www.cnblogs.com/Carpenter ...
- 第二课作业——redis常用命令
第二课时作业 静哥 by 2016.2.23~2016.2.22 [作业描述] 1.key string list hash结构中,每个至少完成5个命令,包含插入 修改 删除 查询,list 和h ...
- Android 使用 WebView
package gzdewei.com.android; import android.app.Activity; import android.os.Bundle; import android.v ...
- Vulnerabilities by Type
w http://hackergossips.com/cross-site-scriptingxss-and-preventing/
- 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- windows下安装Composer提示缺少openssl的解决方法
在Windows环境下安装Composer(注:Composer要求PHP版本在5.3.2+),你可能会遇到这种安装失败的情况:出错信息是 "The openssl extension is ...
- Vue(6)- Vue-router进阶、单页面应用(SPA)带来的问题
一.Vue-router进阶 回顾学过的vue-router,并参考官方文档学习嵌套路由等路由相关知识. 二.单页面应用(SPA)带来的问题 1.虽然单页面应用有优点,但是,如果后端不做服务器渲染(h ...
- 006-基于hyperledger fabric1.4( 官方文档)编写第一个应用【外部nodejs调用】
一.概述 官方原文地址 Writing Your First Application如果对fabric网络的基本运行机制不熟悉的话,请看这里. 注意:本教程是对fabric应用以及如何使用智能合约的简 ...
- Java基础—内部类(转载)
转载自:java中的匿名内部类总结 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来说包括这四种:成员内部类.局部内部类.匿名内部类和静态内部 ...
- Php 删除数组后几个元素
<?php /* * 文件分类: practice@helkbore * 删除数组后几个元素 年2月5日10:24:42 */ $arr1 = array('aa', 'b', 'c', 'dd ...