标题:JAVA上传型对象?
只看楼主
给口饭吃
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-4
 问题点数:0 回复次数:4 
JAVA上传型对象?

class A{
public void run(){}
}

class B extends A{
public void run(){
System.out.println("go,go,go");
}
}

public static void main(String args[]){
A a = new B();
a.run(); //为什么调用B的run方法
}

给讲一下原理可以吗?谢谢

搜索更多相关主题的帖子: JAVA 对象 run void public 
2007-10-05 08:59
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
动态绑定

可惜不是你,陪我到最后
2007-10-05 09:02
给口饭吃
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-10-4
得分:0 
是的啊,我知道是动态绑定的
但只是知道这样用

不知道它的原理

楼上这位朋友可以给分析一下它的原理吗.谢谢
2007-10-05 11:06
zhouzhengbo
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-5-1
得分:0 
动态绑定就是运行时绑定,因为a是用类B来创建的,所以给a开辟的地址空间是B对象的地址空间大小,也就是说对象a其实是类B的对象.而在B中的run()方法覆盖了A中的run()方法,所以a.run()就是调用类B的 run ()方法.
我是这么理解的.
2007-10-05 12:52
nsqq
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-7-4
得分:0 
上传型对象 继承或重写父类的方法
2007-10-05 20:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-175142-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.261479 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved