gpt4 book ai didi

java - Java中的动态多态性和静态多态性有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:10 28 4
gpt4 key购买 nike

谁能提供一个简单的例子来解释 Java 中动态静态多态性的区别?

最佳答案

多态性

<强>1。静态绑定(bind)/编译时绑定(bind)/早期绑定(bind)/方法重载。(在同一个类中)

<强>2。动态绑定(bind)/运行时绑定(bind)/后期绑定(bind)/方法覆盖。(在不同的类中)

重载示例:

class Calculation {  
void sum(int a,int b){System.out.println(a+b);}
void sum(int a,int b,int c){System.out.println(a+b+c);}

public static void main(String args[]) {
Calculation obj=new Calculation();
obj.sum(10,10,10); // 30
obj.sum(20,20); //40
}
}

覆盖示例:

class Animal {    
public void move(){
System.out.println("Animals can move");
}
}

class Dog extends Animal {

public void move() {
System.out.println("Dogs can walk and run");
}
}

public class TestDog {

public static void main(String args[]) {
Animal a = new Animal(); // Animal reference and object
Animal b = new Dog(); // Animal reference but Dog object

a.move();//output: Animals can move

b.move();//output:Dogs can walk and run
}
}

关于java - Java中的动态多态性和静态多态性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56205519/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com