class Father{
public void out(Father father){
System.out.println("This is Father Father");
} public void out(Son son){
System.out.println("This is Father son");
}
}class Son extends Father{
public void out(Father father){
System.out.println("This is Son Father");
} public void out(Son son){
System.out.println("This is Son Son");
}
}
public class Text{
public static void main(String[] arg0){
Father father=new Son();
father.out(father);
}
}这样输出的是This is Son Father.
我是这么理解的,当程序在匹配参数的时候是看引用变量本身,而在匹配哪个类的时候是看他所引用的对象
不知道这么理解有没有错,想请高手解释下多态匹配参数和匹配类的原理,这好像跟静态绑定和动态绑定有关
public void out(Father father){
System.out.println("This is Father Father");
} public void out(Son son){
System.out.println("This is Father son");
}
}class Son extends Father{
public void out(Father father){
System.out.println("This is Son Father");
} public void out(Son son){
System.out.println("This is Son Son");
}
}
public class Text{
public static void main(String[] arg0){
Father father=new Son();
father.out(father);
}
}这样输出的是This is Son Father.
我是这么理解的,当程序在匹配参数的时候是看引用变量本身,而在匹配哪个类的时候是看他所引用的对象
不知道这么理解有没有错,想请高手解释下多态匹配参数和匹配类的原理,这好像跟静态绑定和动态绑定有关
传递的参数是(father);
输出肯定是This is Son Father