码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA中的反射()

时间:2018-07-15 00:13:19      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:参数   参数类型   get   构造方法   运行时   编译   tcl   exception   pack   

java中取得类对象的方法有三种

1.getClass();但是缺点就是如果没有类,就会出错,然后编译不过

2.class.forname("包+类");//如果没有类,此方法也不会报错,但在运行时会出错

3.包+类.class

利用反射实例化

Class<?> cls = Class.forName("类+包");
Object obj = cls.newInstance();

取得类所在的包:

     getPackage();//返回-- 类型 包名
getPackage().getName();//返回包名

取得类名:

class.getName(); //返回包名称+类名称
class.getSimpleName();//返回类名称

取得父类:

class.getSuperClass.getSimpleName();

取得类接口:

Class<?> cls [] = cls.getInterfaces();
for(...){
    cls[i].getSimpleName();
}

取得构造方法:

java.lang.reflect包下:
getConstructors();//返回所有构造
getConstructor(param);//返回指定构造
constructors.getModifiers();//获取方法修饰符
constructors.getName();//获取构造方法名称
constructors.getParameterCount();//获取构造方法参数个数
constructors.getParameterTypes();//获取构造方法的参数类型
constructors.getExceptionTypes();//获取构造方法的异常类型

取得方法:

getMethods();//获取类中所有方法
getMethod(name,Class<?>);//获取指定方法
两者都返回java.lang.reflect.Method;
getName();//返回方法名称
getModifiers();//返回方法修饰符
getParameterTypes();//返回参数类型
invoke(object,object...);//调用指定方法,调用时要有实例化对象,然后再设置参数;
getReturnType();//返回值类型
getDeclaredMethods();//获取本类中的方法

 

JAVA中的反射()

标签:参数   参数类型   get   构造方法   运行时   编译   tcl   exception   pack   

原文地址:https://www.cnblogs.com/javage/p/9311350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!