如何判断一个类是否继承自某个类
包括继承自某个类的子类的子类....
也就是判断一个类是否是某个类的儿子、孙子或是孙孙子....

解决方案 »

  1.   

    ChildClass c;
    ParentsClass p;
    ......
    if ( c instanceof p ) 
    {
    ....
    }
      

  2.   

    我想判断类中所定义的属性是否是某个类,不过好象不行        for(Field objItem : this.getClass().getDeclaredFields()){
                this.getPageParameters().getWriter().println("field:" + objItem.getName());
                try{
                    this.getPageParameters().getWriter().println(Class.forName(objItem.getType().getName()).getName());
                    if ((Object) objItem instanceof Controls) {
                        this.getPageParameters().getWriter().println(":true");
                    }
                }catch(Exception e){
                    e.printStackTrace();
                }
                this.getPageParameters().getWriter().println("<BR>");
            }
      

  3.   

    for(Field objItem : this.getClass().getDeclaredFields()){
                System.out.println("field:" + objItem.getName());
                try{
                    System.out.println(Class.forName(objItem.getType().getName()).getName());
                    if ((Object) objItem instanceof Controls) {
                        System.out.println(":true");
                    }
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
      

  4.   

    谁知道field和instanceof如何结合
    for(Field objItem : this.getClass().getDeclaredFields()){
                System.out.println("field:" + objItem.getName());
                try{
                    System.out.println(Class.forName(objItem.getType().getName()).getName());
                    if ((Object) objItem instanceof Controls) {
                        System.out.println(":true");
                    }
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
      

  5.   

    if (A instanceof B) {}
      

  6.   

    楼主只是想做一个运行时的型别检查可以用三种方法
    1. A instanceof B
    2. B.Class.isInstance(object o)
    3.比较两个对象的Class对象
    还有反射稍微复杂一点
      

  7.   

    我觉得应该使用RTTI(运行时类型识别),也就是用Reflect。
      

  8.   

    如何反射呢
    有没有例子将field转换成本身的类