public class Calculator {
// 重载示例:同名方法,参数不同
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
public class CoffeeMaker {
public void makeCoffee() {
System.out.println("制作美式咖啡");
}
public void makeCoffee(boolean withMilk) {
if(withMilk) {
System.out.println("制作拿铁咖啡");
} else {
makeCoffee(); // 调用无参版本
}
}
public void makeCoffee(boolean withMilk, int sugarLevel) {
makeCoffee(withMilk);
System.out.println("添加" + sugarLevel + "份糖");
}
}
Animal animal = new Dog(); Cat cat = (Cat) animal; // 运行时抛出ClassCastException
你可能想看: