反射知识点总结

反射 :

    是JAVA有着一个非常突出的动态相关机制:Reflection。

    反射是发生在程序运行期间的行为

    Java反射机制,可以实现以下功能:

        ①在运行时判断任意一个对象所属的类;

        ②在运行时构造任意一个类的对象;

        ③在运行时判断任意一个类所具有的成员变量和方法;

        ④在运行时调用任意一个对象的方法;

⑤生成动态代理;

    反射的源头 :

        Class : 类类实例表示正在运行的Java应用程序中的类和接口。

        Class类型的对象: 在一个类型加载到内存中就存在一个属于表示当前类型的Class对象唯一的,不变的

反射的源头 :

    Class对象

 Class : 类实例表示正在运行的Java应用程序中的类和接口。

一个类在加载到内存之后就会存在一个该类的Class对象,不是通过程序员城建就已经存在,独一份不变的

使用的时候不能创建只能获取

可以理解为Class对象中包含类中的所有内容,只要获取Class对象就能操作这个类型

1.类名.class

        2.Class.forName(权限定名) 权限定名: 包名.类名 -->  推荐

        3.对象.getClass()

通过反射创建对象

        1.Class ->newInstance() 默认调用空构造为对象初始化信息-->不推荐使用

        2.Constructor->newInstance() 创建对象

            1.获取某一个类中构造器

                构造器<T> getConstructor(类<?>... parameterTypes) 返回一个 构造器对象,该对象反映此 类对象所表示的类的指定公共构造函数。

                构造器<?>[] getConstructors() 返回一个包含 构造器对象的数组, 构造器对象反映了此 类对象所表示的类的所有公共构造函数。

获取public修饰的构造器

                构造器<T> getDeclaredConstructor(类<?>... parameterTypes) 返回一个 构造器对象,该对象反映此 类对象所表示的类或接口的指定构造函数。

                构造器<?>[] getDeclaredConstructors() 返回 构造器对象的数组, 构造器对象反映由此 类对象表示的类声明的所有构造函数。

调用Constructor类提供的newInstance方法,创建对象的时候调用当前构造器初始化信息

操作方法

            1.获取方法

                方法 getMethod(String name, 类<?>... parameterTypes) 返回 方法对象,该对象反映此 类对象表示的类或接口的指定公共成员方法。

                方法[] getMethods() 返回一个包含 方法对象的数组, 方法对象反映此 类对象所表示的类或接口的所有公共方法,包括由类或接口声明的那些以及从超类和超接口继承的那些。

                方法 getDeclaredMethod(String name, 类<?>... parameterTypes) 返回 方法对象,该对象反映此 类对象表示的类或接口的指定声明方法。

                方法[] getDeclaredMethods() 返回一个包含 方法对象的数组, 方法对象反映此 类对象表示的类或接口的所有已声明方法,包括public,protected,default(package)访问和私有方法,但不包括继承的方法。

            2.调用方法

                Object invoke(Object obj, Object... args) 在具有指定参数的指定对象上调用此 方法对象表示的基础方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值