1、类的继承关系
1.1 PDemo2.java
public class PDemo2 {
public void say(){
System.out.println("PDemo2 say().....");
}
}
1.2 CDemo2.java
public class CDemo2 extends PDemo2 {
public void eat(){
System.out.println("CDemo2 eat()....");
}
public void say(){
System.out.println("CDemo2 say()....");
}
}
2、测试
public class ExtendsDemo {
public static void main(String[] args){
ExtendsDemo.test1(new CDemo2());
ExtendsDemo.test2(new CDemo2());
}
public static void test1(PDemo2 demo2){
demo2.say();
}
public static void test2(PDemo2 demo2){
((CDemo2)demo2).eat();
}
}
2.1 输出结果
CDemo2 say()....
CDemo2 eat()....
2.2 总结
1、子类可以自动向上转型为父类
2、方法参数传递为引用传递,尽管参数是父类,但是其引用仍然指向的是子类。因此当方法重写后,传入的是谁就调用谁的方法。
3、如果父类可以被强制转换为子类,并执行子类的方法
本文是学习过程中的思考和总结,如果请大家多多指正!