反射机制和创建对象的方法

反射的概念

在运行状态时,我们可以知道类的属性和方法,而且可动态的创建类的对象,只要给定类名,我们就可以得到类的对象和方法属性

反射的原理

     由于在编译的时候会生成。class文件,根据这个文件的字节码我们就可以找到这个类以及方法和属性

获取class类的三种方法

Class.forName("类的路径")

类名.Class

实例.getClass

获取对象一共有四种方式

Java中有5种创建对象的方式,下面给出它们的例子还有它们的字节码

使用new关键字} → 调用了构造函数
使用Class类的newInstance方法} → 调用了构造函数
使用Constructor类的newInstance方法} → 调用了构造函数
使用clone方法} → 没有调用构造函数
使用反序列化} → 没有调用构造函数
举例:class类反射
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();

Employee emp2 = Employee.class.newInstance();

constructor类的方法

Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值