Java中的运行时多态的含义是什么?有什么作用?请举例说明。

运行时的多态:一个接口,多个方法

1.父类的引用指向子类对象,掉用的方法是子类的方法

//父类
class A {  
    void fun()  
    {  
        System.out.println(“I am A”);  
    }  
}  

//A的子类B
class B extends A  
{  

    void fun()  
    {      
        System.out.println(“I am B”);  
    }  
}  

//A的子类C  
class C extends A  
{  

    void fun()  
    {      
        System.out.println(“I am C”);  
    }  
}  

class Test  
{  
    public static void main(String[] args)  
    {  
        //定义父类对象引用变量
        A a;
        //子类对象  
        B  b = new B();  
        C  c = new C();
        //父类对象引用变量 引用 子类对象  
        a=b;  
        a.fun();  //输出   I am B
        a=c;  
        a.fun();  // //输出   I am C
    }  
}

2.通过接口指向不同的对象来实现不同的方法

//定义接口InterA  
interface InterA  
{  
    void fun();  
}  

//实现接口InterA的类B  
class B implements InterA  
{  
    public void fun()  
    {      
        System.out.println(“This is B”);  
    }  
}  

//实现接口InterA的类C  
class C implements InterA  
{  
    public void fun()  
    {      
        System.out.println(“This is C”);  
    }  
}  

class Test  
{  
    public static void main(String[] args)  
    {  
        //定义接口
        InterA  a;
        //接口类型变量引用实现接口的类的对象 
        a= new B();  
        a.fun();   
        a = new C();   
        a.fun();   
    }  
}
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页