class Demo
{
public static void main(String[] args)
{
Father f=new Son(); //f引用指向对象的真实类型是Son
if(f instanceof Son) //判断对象指向的真实类型是否是Son 疑问:既然Father f=new Son();能实现,说明Father
//与Son有继承关系,而且,是子父类的继承关系。*** f引用肯定是会指向Son对象的,为什么要做判断呢?
//而且,*** 既然f引用指向的是Son对象,为什么 f instance of Father 也成立呢? f 到底真实指向了谁??
{
Son son=(Son)f
}
}
}
class Father
{
void say()
{
System.out.println("father run");
}
}
class Son
{
void say()
{
System.out.println("son run");
}
void print()
{
System.out.println("son print ");
}
}
Father f = new Son();//父类引用指向子类对象
if(f instanceof Son); //这里比较 虽不能确定指向的真实类对象是son还是Father但是
if(f instanceof Father) //不论是son 还是 Father都能证明两个类之间有继承关系。(我感觉可以这样理解)
Son son = (Son)f;