首页 > 其他 > 详细

class对象,反射

时间:2019-10-29 13:01:10      阅读:75      评论:0      收藏:0      [点我收藏+]

获取Class对象的三种方式:

1.通过getObject()

Person p=new Person();

Class c=p.getClass();

2.通过类名.class获取字节码文件对象

Class c=Person.class

3.通过class类中的方法,将类名传给forName方法

Class c=Class.forName("Person")

反射:Constructor

对任意类,都能够知道这个类的所有属性和方法。

对任意对象,都能够调用任意一个方法和属性。

通过反射获取构造方法并使用:

Class c=Class.forName("Person")

1.获取所有公共构造方法:

Constructor[] cons=c.getDeclaredConstructors()

遍历cons:  for(Constructor ccc:cons){sysout(ccc)}

2.获取公共有参构造方法

Constructor con1=c.getConstructor(String.class);

Constructor con2=c.getConstructor(String.class,int.class,String.class);

con1.newInstance("aaa")

con2.newInstance("aaa",10)

3.暴力反射,获取私有private构造方法。不提倡

Constructor c=c.getDeclaredConstructor(String.class);

con.setAccessible(true);

//创建对象

Objcet stu=(Person)con.newInstance("aaa");

class对象,反射

原文:https://www.cnblogs.com/god3064371/p/11757223.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!