java se 多态1.0 变量、方法的访问

2020-02-11  本文已影响0人  起名字真难难难

extends、implement是多态的前提

多态

父类引用指向子类

父类名称 对象名=new 子类名称();

接口引用指向实现类

接口名称 对象名=new 实现类名称();

右边new谁调用谁

多态中成员变量的访问特点

1、直接通过对象名进行访问,等号左边是谁,优先调用谁,没有向上找

public class Fu {
    int num=20;
}
public class Zi extends Fu{
    int num=10;
}
public class Demo01Multi {
    public static void main(String[] args) {
        Fu mul=new Zi();
        System.out.println(mul.num);//访问变量看左边,调用父类
        }
}
结果

2、间接通过成员方法
(1)若没重写,方法属于谁优先用谁,没有向上找
(2)如果子类重写了,优先用子类(因为子类更具体)

成员方法的访问规则

成员方法:编译看左边,运行看右边
方法new谁运行谁,没有向上找
成员变量:编译看左边,运行也看左边
多态的好处:无论右边new时换哪个子类对象,左边都不变

上一篇下一篇

猜你喜欢

热点阅读