标签:forName java People 对象 Class 实例 class
能够分析类能力的程序称为反射,可以用来:在运行时分析类的能力。在运行时查看对象。实现通用的数组操作代码。利用Method 对象, 这个对象很像中的函数指针。
Class类
Class类是最常用的反射工具,Object类中的getClass方法将会返回一个Class类型的实例,Class实例的getName方法将返回类的名字。
@Data
public class People {
private String name;
private Integer age;
}
People people = new People();
Class cl = people.getClass();
System.out.println(cl.getName()); //People
Class实例的静态方法forName可以通过类名返回一个Class对象,若没有找到字符串对应的类名,将会抛出ClassNotFoundException异常。
Class cl = Class.forName("People");
若T是任意的Java类型,T.class将代表匹配的类对象。
Class cl1 = Random.class;
Class cl2 = int.class;
Class cl3 = Double[].class;
通过==运算符可以实现两个类对象的比较操作
if (e.getClass == People.class)
...
newInstance方法可以动态的创建一个类的实例,可以与forName方法配合,通过字符串创建一个对象。
e.getclass.newInstance();
Object m = Class.forName("People").newInstance();
标签:forName,java,People,对象,Class,实例,class 来源: https://www.cnblogs.com/kagura1204/p/14726754.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。