为了账号安全,请及时绑定邮箱和手机立即绑定

java里多态怎么理解?

java里多态怎么理解?

D-Link 2017-06-13 23:40:28
查看完整描述

3 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

多态分为静态多态--在运行前就已经确定要执行的代码块,体现在代码中就是方法的重载;

public class Test{
    public void say(){
    System.out.println("Hello World");
    }
    public void say(String s){
    System.out.println(s);
    }
    public static void main(String[] args){
        new Test().say();//在运行前确定了要执行的代码块
        //new Test().say("Hello World");
    }
}

动态多态--在运行前无法确定要执行的代码块具体是什么,体现在代码中就是接口回调和父类对象引用指向子类对象

public class Animal{
    public void say(){
    System.out.println("动物会叫");
    }
}
class Dog extends Animal{
    public void say(){
        System.out.println("汪汪汪~~");
    }
}
class Snake extends Animal{
    public void say(){
        System.out.println("嘶嘶嘶~~");
    }
}
class Test{
    public void test(Animal animal){
            animal.say();
        }
    public static void main(){
        new Test().test(new Animal());//输出动物会叫
        //new Test().test(new Dog());//多态,输出汪汪汪
        //new Test().test(new Snake());//多态,输出嘶嘶嘶
    }
}


查看完整回答
1 反对 回复 2017-06-14
?
biubiubong

TA贡献3条经验 获得超0个赞

在同一个方法中,由于参数类型不同导致执行结果不同的现象就是多态。

查看完整回答
反对 回复 2017-06-14
?
大咪

TA贡献785条经验 获得超332个赞

程序员分各种语言的程序员,比如 java,python,c,这就是多态

查看完整回答
反对 回复 2017-06-14
  • 3 回答
  • 0 关注
  • 1481 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信