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());//多态,输出嘶嘶嘶
}
}添加回答
举报
0/150
提交
取消
