【慕课网笔记】Java 反射机制 5 方法反射的基本操作
来源:互联网 发布:手机端淘宝链接转化 编辑:程序博客网 时间:2024/05/17 00:13
方法的反射
1)如何获取某个方法
方法的名称和方法的参数列表才能唯一决定某个方法
2)方法反射的操作
method.invoke(对象,参数列表)
3)为什么要用方法的反射
why?指定方法名称调用方法
举个实际应用的案例 ---->通过标准JavaBean的属性名获取其属性值
BeanUtil类
4)通过Class,Method来认识泛型的本质
package com.imooc.reflect;import java.lang.reflect.Method;public class MethodDemo1 {public static void main(String[] args) { //要获取print(int ,int )方法 1.要获取一个方法就是获取类的信息,获取类的信息首先要获取类的类类型A a1 = new A();Class c = a1.getClass();/* * 2.获取方法 名称和参数列表来决定 * getMethod获取的是public的方法 * getDelcaredMethod自己声明的方法 */ try {//Method m = c.getMethod("print", new Class[]{int.class,int.class}); Method m = c.getMethod("print", int.class,int.class); //方法的反射操作 //a1.print(10, 20);方法的反射操作是用m对象来进行方法调用 和a1.print调用的效果完全相同 //方法如果没有返回值返回null,有返回值返回具体的返回值 //Object o = m.invoke(a1,new Object[]{10,20}); Object o = m.invoke(a1, 10,20); System.out.println("=================="); //获取方法print(String,String) Method m1 = c.getMethod("print",String.class,String.class); //用方法进行反射操作 //a1.print("hello", "WORLD"); o = m1.invoke(a1, "hello","WORLD"); System.out.println("==================="); // Method m2 = c.getMethod("print", new Class[]{}); Method m2 = c.getMethod("print"); // m2.invoke(a1, new Object[]{}); m2.invoke(a1);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }}class A{public void print(){System.out.println("helloworld");}public void print(int a,int b){System.out.println(a+b);}public void print(String a,String b){System.out.println(a.toUpperCase()+","+b.toLowerCase());}}
0 0
- 【慕课网笔记】Java 反射机制 5 方法反射的基本操作
- Java反射机制之方法反射的基本操作
- Java反射机制:方法反射的基本操作
- 学习笔记——JAVA反射<1>反射机制的介绍和基本操作
- java反射:java方法反射的基本操作
- Java反射之——方法反射的基本操作
- java反射之方法反射的基本操作
- JAVA反射之方法反射的基本操作
- Java--反射(四)方法反射的基本操作
- Java 方法反射的基本操作
- Java方法反射的基本操作
- 5-1 Java 方法反射的基本操作
- 方法反射的基本操作
- Java--Reflect(反射)专题5——方法反射的基本操作
- 关于java反射机制的一些基本操作
- Java反射的基本操作
- JAVA反射的基本操作
- Java反射的基本操作
- 云计算学习(1)概念、特点、实现机制
- 物联网的无线技术(1)
- PHP中const和define()定义常量的细节区别
- 全新升级!超强功能!U糖App 4.0 全面上线!
- centOS 安装jdk
- 【慕课网笔记】Java 反射机制 5 方法反射的基本操作
- jquery 选择器
- 跨域资源共享(CORS)安全性浅析
- ImageLoad中的配置属性
- 将 Linux on x86 应用程序移植到 Linux on Power 的指南
- Unity常用代码
- 内核中如何得到进程描述符的地址
- 深入剖析Android音频之AudioSystem
- socket结束后如何立刻释放端口