public class Computer {
public static void main(String args[]) {
Pad ipad=new Pad();
Shouji xiaomi=new Shouji();
System.out.println("平板电脑是否继承自电脑类:"+(ipad instanceof Computer));
System.out.println("小米手机是否继承自平板电脑类:"+(xiaomi instanceof Pad));
System.out.println("小米手机是否继承自电脑类:"+(xiaomi instanceof Computer));
System.out.println("平板电脑是否继承自手机类:"+(ipad instanceof Shouji));
System.out.println("平板电脑是否继承自医生类:"+(ipad instanceof Doctor));
}
}
class Pad extends Computer{
}
class Shouji extends Pad{
}
在这个类中,当某个对象和某个类继承关系错误但只要他们还存在继承关系,编译不会报错,输出为false,但当某个对象和某个类完全没任何关系时,编译就会直接报错,我想问的是,当Java编译程序时运行到System.out.println("平板电脑是否继承自手机类:"+(ipad instanceof Shouji));这个语句时,还没有编译到class Pad extends Computer{
}
class Shouji extends Pad{
}这两行语句,Java怎么知道他们存在继承关系,当Java编译运行到System.out.println("平板电脑是否继承自医生类:"+(ipad instanceof Doctor));这个语句时它又怎么确定 医生类还对象完全没有关系?麻烦老师了,谢谢