Java中多态的使用

代码中体现多态性:父类引用指向子类对象。
格式: 父类名称 对象名 = new 子类对象();
或者: 接口名称 对象名 = new 实现类名称();

代码示例:

public class Dad {
    public void method(){
        System.out.println("这是父类方法");
    }
    public void methodd(){
        System.out.println("父类特有方法");
    }
}
public class Son extends Dad{
    @Override
    public void method() {
        System.out.println("这是子类方法");
    }
}
public class DemoMulti {
    public static void main(String[] args) {
        /*
        使用多态的写法
        左侧父类的引用,指向了右侧子类的对象
         */
        Dad obj = new Son();
        obj.method();
        obj.methodd();
    }
}

在多态中,成员方法的访问规则是:
看 new 的谁,就优先用谁,没有则向上找。
编译看左边,运行看右边

在多态中,成员方法与成员变量对比:
成员变量:编译看左边,运行看左边。
成员方法:编译看左边,运行看右边。
20200427_17h46_27.png

如何才能知道一个父类引用的对象原本是什么子类?
格式: 对象名 instanceof 类名称
将会返回一个boolean值,也就是判断前面的对象能不能当做后面类型的实例。

# java  

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×