在父子类的继承关系当中,创建子类对象,访问成员方法的规则:
创建的对象是谁,就优先用谁,如果没有就向上找。
重名名的方法:
【注意】无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。
package java继承04;
/**
* @Author: Jason
* @Date: 2019/7/16 14:04
* @Version 1.0
*/
public class Fu {
public void MethodFu(){
System.out.println("父类方法执行!");
}
public void Method(){
System.out.println("父类重名方法执行!");
}
}
package java继承04;
/**
* @Author: Jason
* @Date: 2019/7/16 14:04
* @Version 1.0
*/
public class Zi extends Fu {
public void MethodZi() {
System.out.println("子类方法执行!");
}
public void Method(){
System.out.println("子类重名方法执行!");
}
}
package java继承04;
/**
* @Author: Jason
* @Date: 2019/7/16 14:04
* @Version 1.0
*/
/*
在父子类的继承关系当中,创建子类对象,访问成员方法的规则:
创建的对象是谁,就优先用谁,如果没有就向上找。
重名名的方法:
【注意】无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类的。
*/
public class DemoExtendsMethod {
public static void main(String[] args) {
Zi zi = new Zi();
zi.MethodZi();
zi.MethodFu();
System.out.println("============");
zi.Method(); //创建的new的是子类对象,所以优先用子类方法
}
}
执行如下:
子类方法执行!
父类方法执行!
============
子类重名方法执行!