int是基本类型,int没有父类,String不是基本类型,有父类
System.out.println(int.class.getSuperclass());//输出null;
System.out.println (String.class.getSuperclass());//输出class java.lang.Object
newInstance()方法要看该类内部是怎样实现的。
在newInstance()里的API描述里,有这样一句:The class is instantiated as if by a new expression with an empty argument list。
我看出的意思是,newInstance()会默认调用该类里无参的构造方法。
因为int不是一个类,也就没有继承自祖宗类Object,所以根本不会有什么无参的构造方法。
java中每个类都是继承Object类的,都会默认有一个无参构造方法的,只要没有复写。作者: 谢洋 时间: 2013-2-28 21:12
基本类型都没有构造方法,所以不能new ;有xxx.class不一定能new,因为有xxx.class并不代表xxx.class中就有构造函数
只有引用类型才能new ; 如:Interger就能,它是int类型的包装类,所谓包装:就是Integer类里面定义了一个int变量,
然后他里面还老一些操作int类型数据的方法。