简单说说java反射

反射的概念网上有很多,对于不是要太深入研究的开发者,我感觉可以简单的理解,就是程序运行时(程序)才知道具体要操作的时哪个类(这在通过Class.forName("类名")得到Class对象时体现的最明显)。

1.得到类Class对象的三种方法

   ①Class cla = Class.forName("com.jk.Person");

      个人认为三种方法里这个方法最科学,最低的侵入性,体现了反射的概念。比如在一个方法中使用,该方法不用在代码中导入          Person这个类,在方法走到这行代码时,才会去创建这个类。

   ②Class cla = Person.class;

      这种方法就需要在代码里导入Person这个类了。

   ③Person person = new Person();

      Class cla = person.getClass();

      这里都已经创建出Person对象了,就现在的理解来说,这种方法可能有点多余。

2.通过该类的Class对象得到对应类对象

   Constructor constructor = cla.getConstructor();

   Person person = (Person)constructor.newInstance();

   或者用简写:

   Person person = (Person)cla.newInstance();

  方法也可以使用反射的方式调用,或者直接用得到的对象进行调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值