谁给实例解释下动态绑定的问题

闭门车 2006-03-17 05:30:58
刚学java,不太明白他的动态绑定是怎么回事?谁给用实例解释下?
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cleansunshing 2006-03-22
  • 打赏
  • 举报
回复
晕!怎么没人?问题太简单了 or 还是分太少?
=========================================
all right!
treeroot 2006-03-22
  • 打赏
  • 举报
回复
不用讨论,java中都是动态绑定!
只有c++才有静态绑定
Dan1980 2006-03-22
  • 打赏
  • 举报
回复
楼主忒小气了,4分怎么给得出手啊,哈哈~~~
闭门车 2006-03-22
  • 打赏
  • 举报
回复
谢谢,给分了,注意收
TONYBLARED 2006-03-18
  • 打赏
  • 举报
回复
package com.pss.test2;

import com.pss.util.prints.Conica;

/**
* @author George
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
class Father2{
public void print(){
Conica.pl("Father.print()");
}
}
class Son extends Father2{
public void print(){
Conica.pl("Son.print()");
}
}
public class Acceptor {
public static void main(String[] args){
Father2 mafia;
mafia = new Father2();
mafia.print();

mafia = new Son();
mafia.print();
}
}

楼主先看看这段代码,在不运行之前看看输出什么。
如果你了解了动态绑定之后,就会理解为什么这段代码输出的是Son.print()了。
你看,mafia在编译时候表明是Father2引用,调用的是Father2的方法。但是在运行的时候,它却是调用Father2或者Son的方法,这就是动态绑定,在运行的时候bind某个方法。
闭门车 2006-03-17
  • 打赏
  • 举报
回复
晕!怎么没人?问题太简单了 or 还是分太少?
闭门车 2006-03-17
  • 打赏
  • 举报
回复
自己顶先!!!

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧