// 1.new
Dog d1 = new Dog();
d1.say();
// 2.Class.forName
Dog d2 = (Dog) Class.forName("com.test.Dog").newInstance();
d2.say();
// 3.ClassLoader
ClassLoader c = ClassLoader.getSystemClassLoader();
Class classT = c.loadClass("com.test.Dog");
Dog d = (Dog) classT.newInstance();
d.say();
// 4.Constructor
Constructor constructor1 = String.class.getConstructor(StringBuffer.class);
String str2 = (String)constructor1.newInstance(/*"abc"*/new StringBuffer("abc"));
System.out.println(str2.charAt(2));
本文介绍了四种不同的Java对象实例创建方法:直接使用new关键字、通过Class.forName获取类实例、利用ClassLoader加载类并创建实例以及通过Constructor获取构造器创建实例。同时展示了如何通过反射调用String类的私有构造器。
3411

被折叠的 条评论
为什么被折叠?



