假设 TaxCalculator 类中有以下方法:
public double calculateTax(double income) {
return income * 0.3;
}
Run Code Online (Sandbox Code Playgroud)
我们在 Main 类中使用这个方法,如下所示:
var calculator = new TaxCalculator();
double tax = calculator.calculateTax(100_000);
System.out.println(tax);
Run Code Online (Sandbox Code Playgroud)
如果我将该方法的实现更改calculateTax为:
public double calculateTax(double income) {
return income * 0.4;
}
Run Code Online (Sandbox Code Playgroud)
我是否需要重新编译 TaxCalculator 类和 Main 类?
我知道这个问题听起来很愚蠢,但我在一次讲座中听说,如果我们不使用接口,我们在紧耦合代码中所做的每一个更改(就像我上面展示的那样)都会迫使我们重新编译所有依赖的类在课堂上我们做出了改变。
这对我来说听起来很奇怪,因为 Main 类不知道我们所做的更改的方法的实现。
预先感谢您的任何帮助!