如果java是按值传递的,并且该值是实际类型的内存地址,那么为什么调用的重载方法由引用/声明的类型决定?
class Boss {
void test(Object o){
System.out.println("object");
}
void test(Boss b){
System.out.println("boss");
}
public static void main( String[] args ) {
Boss b = new Boss();
b.test((Object)b); //prints out object, why?
}
}