java的反射机制

1.反射机制的定义

反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意一个方法和属性;
这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2.反射能做什么

在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
生成动态代理。

3.反射的常用API

//通过一个对象获得完整的包名和类名
public static void main(String[] args)
{
ReflectDemo reflectDemo = new ReflectDemo();
System.out.println(reflectDemo.getClass().getName());
/** * 运行结果:
* org.xiaowu.reflect.test.ReflectDemo
* */ }

//实例化Class类对象
public static void main(String[] args)
throws ClassNotFoundException {

Class<?> class1 = null;
Class<?> class2 = null;
Class<?> class3 = null; // 一般采用这种形式
class1 = Class.forName(“org.xiaowu.reflect.test.ReflectDemo”);
class2 = new ReflectDemo().getClass();
class3 = ReflectDemo.class;
System.out.println("类名称 " + class1.getName());
System.out.println("类名称 " + class2.getName());
System.out.println("类名称 " + class3.getName());
}

获取一个对象的父类和其实现的方法
package org.xiaowu.reflect.test;
import java.io.Serializable;
public class ReflectDemo6 implements Serializable
{
/** * */
private static final long serialVersionUID = 1L;
public static void main(String[] args)
throws ClassNotFoundException
{
Class<?> clazz = Class.forName(“org.xiaowu.reflect.test.ReflectDemo6”);
// 取得父类
Class<?> parentClass = clazz.getSuperclass();
System.out.println(“clazz的父类为:” + parentClass.getName());
// clazz的父类为: java.lang.Object
// 获取所有的接口
Class<?> intes[] = clazz.getInterfaces();
System.out.println(“clazz实现的接口有:”);
for (int i = 0; i < intes.length; i++) {
System.out.println((i + 1) + “:” + intes[i].getName());
} // clazz实现的接口有: // 1:java.io.Serializable
}
}

想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):cgmx9880 扩列获取java进阶资料学习,无工作经验不要加哦!

//获取某个类的全部方法
package org.xiaowu.reflect.t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值