”父类对象instanceof子类“对吗

”父类对象instanceof子类“对吗

2015-08-27 22:46 超级耶耶
  外语学习java
这道题  
class Cup {
}
class PoisonCup extends Cup {
 public void takeCup(Cup c) {
  if (c instanceof PoisonCup) {
   System.out.println("Inconceivable!");
  } else if (c instanceof Cup) {
   System.out.println("Dizzying intellect!");
  } else {
   System.exit(0);
  }
 }
}
public class TestCup {
 public static void main(String[] args) {
  Cup cup = new PoisonCup();
  PoisonCup poison=new PoisonCup();
  poison.takeCup(cup);
 }
}
为什么输出的是 Inconceivable! 啊    
为什么(父类对象instanceof子类)返回true啊
2015-08-27 23:38 提问者采纳
c instanceof PoisonCup 理解成(PoisonCup 是c的实例么) 当然是 if括号里面的代码应该从右往左读 是右边去比较左边 不是左边去比较右边
提问者评价
感谢大神!

你可能感兴趣的:(JAVA)