什么是java反射机制?

反射机制就是正在运行动态获取当前的类的所有信息

类可以不用new,使用java反射机制帮你去初始化

类私有属性,可以使用java的放射机制赋值

反射机制的作用

1,反编译:.class-->.java

2.通过反射机制访问java对象的属性,方法,构造方法等;

反射机制的应用场景

Jdbc 加载驱动-----

Spring ioc

框架

反射机制获取类有三种方法

//第一种方式:

Classc1 = Class.forName("Employee");

//第二种方式:

//java中每个类型都有class 属性.

Classc2 = Employee.class;

//第三种方式:

//java语言中任何一个java对象都有getClass 方法

Employeee = new Employee();

Classc3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)

反射创建对象的方式

Class> forName = Class.forName("com.itmayiedu.entity.User");

// 创建此Class 对象所表示的类的一个新实例 调用了User的无参数构造方法.

Object newInstance = forName.newInstance();

实例化有参构造函数

Class> forName = Class.forName("com.itmayiedu.entity.User");

Constructor> constructor = forName.getConstructor(String.class, String.class);

User newInstance = (User) constructor.newInstance("123", "123");

反射创建api

方法名称    作用

getDeclaredMethods []    获取该类的所有方法

getReturnType()    获取该类的返回值

getParameterTypes()    获取传入参数

getDeclaredFields()    获取该类的所有字段

setAccessible    允许访问私有成员

禁止使用反射机制初始化

将构造函数为私有化

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐