class A{ // 定义类A
public void fun1(){ // 定义fun1()方法
System.out.println("A --> public void fun1(){}") ;
}
public void fun2(){
this.fun1() ; // 调用fun1()方法
}
};
class B extends A{
public void fun1(){ // 此方法被子类覆写了
System.out.println("B --> public void fun1(){}") ;
}
public void fun3(){
System.out.println("B --> public void fun3(){}") ;
}
};
public class PolDemo01{
public static void main(String asrgs[]){
A a = new B() ; // 实例化子类对象
a.fun1() ;
a.fun2();// 此方法被子类覆写过
a.fun3();// 此处为什么不能调用fun3方法呢??(转型之后是父类对象,无法找到子类中定义的新方法,可是下面a又是B类的实例,这是为什么呀???)
System.out.println((a instanceof B) ); // true ,,为什么又是B类的实例呢?不是转化成父类对象了吗??
System.out.println((a instanceof A) ); // true
}
} |
|