Code :
try {
c.getSuperclass();
System.out.println(c);
} catch(NullPointerException ex) {
System.out.println("NullPoint!");
}Output :
NullPoint!不知道楼主的代码是怎么写的? -_-bbb
try {
c.getSuperclass();
System.out.println(c);
} catch(NullPointerException ex) {
System.out.println("NullPoint!");
}Output :
NullPoint!不知道楼主的代码是怎么写的? -_-bbb
* (class, interface, primitive type or void) represented by this
* Class. If this Class represents either the
* Object class, an interface, a primitive type, or void, then
* null is returned.
public class test{
public static void main(String[] args){
try{
Class o=Class.forName("java.lang.Object");
if(o.getClass().getSuperclass()==null)
System.out.println("null");//按理说这句会执行,实际上没有,不明白
}catch(ClassNotFoundException e){System.out.println("error");}
}
}
if(o.getClass().getSuperclass()==null)
System.out.println("null");
---------------------------------------------------
o已经是Object的Class实例了
再调用o.getClass(),你事实上得到是Class实例的Class实例,当然还是Class
再去调用getSuperclass(),你得到是Class类的父类的Class实例,应该还是Object的Class实例
绕这么大的圈子,FT死了 @_@
明白了
Class o=Class.forName("java.lang.Object");
if(o.getSuperclass()==null)
System.out.println("null");输出是null.
如果不是sun,就是ibm
反正不会是ms