class A
{}
class B extends A
{}
class C extends B
{}
public class Main
{
public static void main(String args[])
{
A a = new C();
System.out.println(a instanceof B);//这样是如何判断出true的?
}
}

解决方案 »

  1.   

    意思就是
    如果 a 是 B 类的实例,就返回true因为你这个 a 是 A类的实例,虽然指向的是子类C的对象
    但这个结果应该是false
      

  2.   

    ....和我开玩笑的吧!!
    a是C类的实例,向上转型,而且这个结果是true;
      

  3.   

     System.out.println(a instanceof B);//这样是如何判断出true的?
    只要 可以把a强制转换为B类型
    就是a是B或B的子类的对象  输出就为true
      

  4.   

    你可以是以下无论那个类的对象
    system.out.pritln(a instanceof Object);
    结果都是true