浅析java的Class类
来源:互联网 发布:网络系统图的 编辑:程序博客网 时间:2024/06/08 00:54
1.获取Class类型的对象的三种方法
1)Object的getClass()方法。
2)Class类的forName()方法。
3)如果T是java的一个类型,那么T.class就代表
了与该类型匹配的对象,例如String.class代表字符串类型,int.class代表整形类型。
2.Class类的常用方法
1)static Class<?>forName(String className)
返回给定串名相应的Class对象。
若给定一个类或者接口的完整路径,那么此方法将试图定位、装载和 连接该类。失败抛出ClassNotFoundException异常。
2)String getName()
返回Class所表示的类型的完整字符串路径
3)T newInstance()
创建一个类的实例
4)Method[] getMethods()
返回Class对象表示的类或者接口的所有公有成员的方法对象的数组
5)Object invoke(Object obj,object[] args)
invoke方法实现相应类的成员方法的而调用。
其中,obj代表调用该方法的实例对象,args代表存放该方法参数的对象数组
test包里面的Test类
public int add (int x, int y){ return x+y; } public int minus (int x, int y){ return x-y; }
Main.java
public static void main(String[] args)throws Exception{ Class<?>myclass = Class.forName("test.Test"); //返回给定字符串的Class对象。 System.out.println(myclass.getName()); //返回Class对象表示的类的路径字符串 Object x = myclass.newInstance(); Method[] m = myclass.getMethods(); //获取Test类的所有方法 Object[] Args = new Object[] {1,2}; for (int i=0; i<2; i++) System.out.println(m[i].toString()); System.out.println(m[1].invoke(x, Args)); //调用对象的第2个方法 Method addm = myclass.getMethod("add", int.class, int.class); System.out.println(addm.invoke(x, Args)); //调用add方法 }
运行结果:
test.Test
public int test.Test.add(int,int)
public int test.Test.minus(int,int)
-1
3
0 0
- 浅析java的Class类
- 关于java class文件的浅析
- Java反射机制及其Class类浅析
- 浅析java中的Class类及其对象
- 浅析java class文件格式
- Class类源码浅析
- java的Class类
- java的Class类
- Java 的Class 类
- java的Class类
- Java的Class类
- java的Class类
- Class类文件结构浅析
- Class类文件结构浅析
- Class类文件结构浅析
- 认识java的Class类
- 认识java的Class类
- 认识java的Class类
- [MT6582_LCD]使用PWM配置背光如何配置,及频率计算
- 各种调用QQ号的方法
- Andoird 自定义ViewGroup实现竖向引导界面
- Web打印控件Lodop实现证件套打
- ES配置文件参考与参数详解
- 浅析java的Class类
- Spring常用注解 使用注解来构造IoC容器
- mysql 查询某字段值全是数字
- linux less对文件内容进行搜索
- Python 装饰器的理解
- hdu 4099 Revenge of Fibonacci 字典树+斐波拉契数列数列
- 一键退出(BaseActivity+ActivityUtils)
- 金蝶账套误删除修复
- 24年的第一天