通过反射 拿到方法 Day25
2024-10-08 03:46:59
package com.sxt.method1;
/*
* 通过反射 拿到方法
*/
import java.lang.reflect.Method;
import java.lang.reflect.Modifier; public class TestMethod {
public static void main(String[] args) throws Exception {
//获取类信息
Class<?> class1 = Class.forName("com.sxt.entity.Student");
//创建对象
Object obj = class1.newInstance();
//获取所有方法
Method[] methods = class1.getDeclaredMethods();
//遍历查看所需要的方法信息
for(Method m : methods){
System.out.println(m.getName()+"\t"+m.getReturnType()+"\t"+Modifier.toString(m.getModifiers()));
}
System.out.println("-------------------------------------");
// //获取对应的public方法
// Method method = class1.getMethod("sum", int.class,int.class);
// Object result = method.invoke(obj, 3,4);
// System.out.println("result:"+result); //获取private的对应方法 突破了封装的限制
Method m = class1.getDeclaredMethod("sum", int.class,int.class);
System.out.println(m.getName()+"\t"+m.getReturnType()+"\t"+Modifier.toString(m.getModifiers()));
m.setAccessible(true);
Object result = m.invoke(obj, 3,4);
System.out.println("result:"+result); }
}
最新文章
- Rocksdb Compaction原理
- UVa 247 Calling Circles【传递闭包】
- 僵尸进程&;孤儿进程
- mybatis Mapper XML 文件
- 第一篇、C_高精度加法
- BZOJ 1305: [CQOI2009]dance跳舞( 最大流 )
- CentOS7/RHEL7安装Redis步骤详解
- iOS ,呼叫捕获抛出勉未知方法的障碍
- BZOJ 4710: [Jsoi2011]分特产 [容斥原理]
- Spring Security 入门(1-9)国际化的使用
- 前端为什么非要动静分离 说一下CDN托管的意义
- linux中的find命令常用场景
- Linux 下装逼技巧
- postman(六):详解在Pre-request Script中如何执行请求
- 关于Redis缓存数据库
- C++进阶--类的继承
- Event 对象的属性和方法
- 【Dynamic Programming】DP算法
- js回车、ESC、F2按钮事件
- PL/SQL Developer图形化窗口创建数据库(表空间和用户)以及相关查询sql