-
望远
多态分为静态多态--在运行前就已经确定要执行的代码块,体现在代码中就是方法的重载;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());//多态,输出嘶嘶嘶
}
}
-
biubiubong
在同一个方法中,由于参数类型不同导致执行结果不同的现象就是多态。
-
大咪
程序员分各种语言的程序员,比如 java,python,c,这就是多态