浅谈一下反射获取对象的四种方式

文章介绍了Java中通过对象的getClass(),类的Class属性,forName()方法和ClassLoader.loadClass()四种方式获取对象,并讨论了反射带来的灵活性和安全问题,以及性能上的轻微劣势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

反射获取对象的四种方式:

1.通过对象的getClass();

Class people = people.getClass();

2.通过类的Class属性;

Class people = People.class;

3.通过forName()方法;

Class people = Class.forName("com.xxx.People");

4.通过ClassLoader.loadClass()类加载器;

Class people = ClassLoader.loadClass("com.xxx.People");
优缺点:

优点:可以让我们的代码更加灵活,为各种框架提供便利的功能

缺点:让我们在运行时有了分析和操作类的能力,同样也增加了安全问题。比如无视泛型参数的安全检查。另外反射性能要稍微差一点,但是对于框架来说,我们不会大量的创建反射对象,影响不是很大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值