反射:把Java中的各种结果(方法、属性、构造器、类名)映射成一个个Java对象。
第一步:获取Class对象
Class类:由此Class
对象建模的类的类型。通过Class类获取其它类的信息,然后可以通过Class对象创建其它类。
方式一:有此类的对象,直接通过getClass()方法获取。
public static void main(String[] args) { Test t= new Test(); Class cl =t.getClass(); }
方式二:能够直接使用类的时候,通过类名.class获取。
public class Antts{ public static void main(String[] args) { Class cls = Test.class; } } class Test{ }
方式三:通过静态方法Class.forName("包名.类名")。
public static void main(String[] args) throws ClassNotFoundException { Class cls = Class.forName("java.lang.String"); }
第二步:通过Class对象动态创建对象
public static void main(String[] args) throws Exception{ Class cls = Class.forName("java.lang.String"); //jdk9以前,使用Class对象创建一个String对象 String str0 = (String)cls.newInstance(); //jdk9推荐方式:使用构造器创建对象,所以它推荐所有类加入无参构造器。 String str1 = (String) cls.getConstructor().newInstance("iloveyou");
}
标签:Java,String,Class,static,public,cls From: https://www.cnblogs.com/lurenjia-bky/p/16906727.html