Loading

Java多态

概念:同一方法可以根据发送对象的不同而采用多种不同的行为方式。

1、一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件:

1、有继承关系
2、子类重写父类方法
3、父类引用指向子类对象

注意:多态是方法的多态,属性没有多态性
static方法,属于类,它不属于实例
final常量
private方法

主方法

image

public class Demo15 {
    public static void main(String[] args) {
        //一个对象的实际类型是确定的
        //但其可以指向的引用类型是不确定的
        Demo17 s1=new Demo17();//能调用的都是子类或继承父类的方法
        Demo16 s2=new Demo17();//父类的引用指向子类(能调用用的都是自己的)
        Object s3=new Demo17();
        //对象能执行哪些方法要看=左边,方法怎么用看右边;
        s2.run();
        s1.test();
        //s2.test();//报错因为Demo16 s2=new Demo17()中DEMO16中没有test方法
    }
}

子类

public class Demo17 extends Demo16{
    @Override
    public void run(){
        System.out.println("这是子类重写方法一");
    }
    /*@Override
    public void test(){
        System.out.println("这是子类特有方法二");
    }*/
}

父类

public class Demo16 {
    public void run(){
        System.out.println("这是父类方法一");
    }
}

posted @ 2022-01-21 15:30  Cn_FallTime  阅读(20)  评论(0编辑  收藏  举报