先看源码:
class Fruits{
public String get(){
return "vvv";
}
}
class Apple extends Fruits{
public String get(){
return "HHH";
}
}
public class MyClass {
public static void main(String[] args) {
System.out.println("hello!");
Fruits fruits = new Apple();
printGet(fruits);
}
public static void printGet(Fruits fruits){
System.out.println("ddd:" + fruits.get());
}
public static void printGet(Apple apple){
System.out.println("ggg:" + apple.get());
}
}
//运行结果:
hello!
ddd:HHH
原因是:
总结:对于方法的重载,在编译的时候就要确定是哪个类型。