Java中的System类是final的,不能被继承。同时System类的构造函数为private,因此不能被实例化。Runtime的构造函数也为private,不能被实例化。
Class class1 = Class.forName("java.util.Random");
System.out.println(class1.newInstance());
Class class2 = Class.forName("java.lang.System"); // 不能被实例化的类,构造函数是private
// System.out.println(class2.newInstance());
Class class3 = Class.forName("java.lang.Runtime");
// System.out.println(class3.newInstance());
如果取消注释,就可以看到如下错误:
can not access a member of class java.lang.Runtime with modifiers "private"