测试

66 阅读1分钟

Java 学习笔记:多态与动态绑定机制

在学习 Java 编程的过程中,多态是一个非常重要的概念,它让我们可以编写更加灵活和可扩展的代码。多态允许不同的对象通过相同的方法名表现出不同的行为,而不需要修改现有代码。

什么是多态?

多态(Polymorphism)是指同一个方法在不同对象中有不同表现的特性。换句话说,就是相同的方法调用在不同的对象上可以执行不同的操作。

在 Java 中,主要有两种类型的多态:

  1. 编译时多态(方法重载):发生在同一个类中,方法名相同,但参数列表不同。
  2. 运行时多态(方法重写):发生在父类和子类之间,子类重写了父类的方法,调用的是真正对象的行为。

编译时多态

编译时多态通常是通过方法重载实现的。方法重载是指同一个类中,可以定义多个方法名相同,但参数类型或参数个数不同的方法。Java 编译器根据方法调用时传递的参数类型来决定调用哪个方法。

class Calculator {
    // 方法重载:相同方法名,不同参数
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }

    public String add(String a, String b) {
        return a + b;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calc = new Calculator();
        System.out.println(calc.add(5, 3));       // 8
        System.out.println(calc.add(3.5, 2.5));   // 6.0
        System.out.println(calc.add("Hello, ", "World!")); // Hello, World!
    }
}