多态中成员方法的使用特点

/*
在多态的代码当中,成员方法的访问规则是:
看new的是谁,就优先用谁,没有则向上找。

口诀:编译看左边,运行看右边。

对比一下:
成员变量:编译看左边,运行还看左边。
成员方法:编译看左边,运行看右边。
*/
public class Demo02MultiMethod {
public static void main(String[] args) {
Fu obj=new Zi();//多态

obj.method();//父子都有,优先用子
obj.methodFu();//子类没有,父类有,向上找到父类

//编译看左边,左边是Fu,Fu当中没有methodZi方法,所以编译报错。
// obj.methodZi();//错误写法!
}
}
========================================
public class Fu /*extends Object*/ {
int num=10;

public void showNumber(){
System.out.println(num);
}

public void method(){
System.out.println("父类方法");
}

public void methodFu(){
System.out.println("父类特有方法");
}
}
==================================
public class Zi extends Fu {
int num=20;
int age=16;

@Override
public void showNumber() {
System.out.println(num);
}
@Override
public void method(){
System.out.println("子类方法");
}

public void methodZi(){
System.out.println("子类特有方法");
}
}
posted @ 2022-05-22 23:07  开山y  阅读(20)  评论(0编辑  收藏  举报