鱼C论坛

 找回密码
 立即注册
查看: 2881|回复: 0

[学习笔记] JSP&Servlet20

[复制链接]
发表于 2017-8-13 23:57:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 smallFishBug 于 2017-8-13 23:58 编辑

                Constructor
                        一个类的构造器,即构造器的反射对象
                        1、获取Construcator对象需要使用Class对象,下面API来自Class类
                       
                        Constructor getConstructor(Class… parameterTypes)  多个参数,参数类型
                                通过指定的参数类型获取公有的构造器反射对象(参数类型以及参数个数确定该类的某个构造器)
                       
                        Constructor[] getConstructors():获取所有公有构造器对象
                       
                        Constructor getDeclaredConstructor(Class… parameterType) 通过制定参数类型获取构造器反射对象,可以是私有构造器对象
                       
                        Constructor[] getDeclaredConstructors()  获取所有构造器对象,包括私有构造器
                       
                        2、Constructor类常用方法
                                String getName()  获取构造器名字
                               
                                Class getDeclaringClass()  获取构造器所属的类型 (属于哪个类)
                               
                                Class[] getParameterTypes()  获取构造器的所有参数的类型
                               
                                Class[] getExceptionTypes()  获取构造器上声明的所有异常类型
                               
                                T newInstance(Object… initargs)  通过构造器反射对象调用构造器
                                        模板:
                                        Person p=(Person)c3.newInstance("zhangsan",18,"male");//调用构造器,参数就是传递给真实构造器
                                                        System.out.println(p);
                                       
                Method
                        Class -->类的反射对象
                        Constructor-->构造器的反射对象
                        Method -->表示方法的反射对象
                        Filed -->成员的反射对象

                       
                        4.1获取Method
                                获取Method需要通过Class对象,下面是Class类的API:
                        l Method getMethod(String name, Class… parameterTypes):通过方法名和方法参数类型获取方法反射对象,包含父类中声明的公有方法,但不包含所有私有方法;
                        l Method[] getMethods():获取所有公有方法,包含父类中的公有方法,但不包含任何私有方法;
                        l Method getDeclaredMethod(String name, Class… parameterTypes):通过方法名和方法参数类型获取本类中声明的方法的反射对象,包含本类中的私有方法,但不包含父类中的任何方法;
                        l Method[] getDeclaredMethods():获取本类中所有方法,包含本类中的私有方法,但不包含父类中的任何方法。
                         
                        4.2Method常用方法
                        l String getName():获取方法名;
                        l Class getDeclaringClass():获取方法所属的类型;
                        l Class[] getParameterTypes():获取方法的所有参数的类型;
                        l Class[] getExceptionTypes():获取方法上声明的所有异常类型;
                        l Class getReturnType():获取方法的返回值类型;
                        l Object invoke(Object obj, Object… args):通过方法反射对象调用方法,如果当前方法是实例方法,那么当前对象就是obj,如果当前方法是static方法,那么可以给obj传递null。args表示是方法的参数;
                       
                        4.3method调用方法
                                调用方法: 对象.方法(参数)
                                反射调用:method.invoke(对象,参数)
                               
                                调用静态方法: 类名.方法(参数)
                                反射调用静态方法:  method.invoke(null,参数)
                               

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 06:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表