Code :
try {
c.getSuperclass();
System.out.println(c);
} catch(NullPointerException ex) {
System.out.println("NullPoint!");
}Output :
NullPoint!不知道楼主的代码是怎么写的? -_-bbb

解决方案 »

  1.   

    Returns the Class representing the superclass of the entity
         * (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.
      

  2.   


    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");}
    }
    }
      

  3.   

    Class o=Class.forName("java.lang.Object");
    if(o.getClass().getSuperclass()==null)
    System.out.println("null");
    ---------------------------------------------------
    o已经是Object的Class实例了
    再调用o.getClass(),你事实上得到是Class实例的Class实例,当然还是Class
    再去调用getSuperclass(),你得到是Class类的父类的Class实例,应该还是Object的Class实例
    绕这么大的圈子,FT死了 @_@
      

  4.   

    我的结果是null难道楼主的机器这么强
      

  5.   

    晕死,多调用了一个getClass()
    明白了
      

  6.   

    这样写:
    Class o=Class.forName("java.lang.Object");
    if(o.getSuperclass()==null)
    System.out.println("null");输出是null.
      

  7.   

    如果是null,就是sun
    如果不是sun,就是ibm
    反正不会是ms