| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:新学 java,关于覆盖和重载
取消只看楼主 加入收藏
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
结帖率:94.87%
收藏
已结贴  问题点数:10 回复次数:2 
新学 java,关于覆盖和重载
程序代码:
public class cover_equal {

    public static void main(String[] args) {
        
        // TODO 自动生成的方法存根
father f=new son();
son f2=new son();
f.test(f2);
}    
}    
    class  father {
        int radius;
        public father() {
            // TODO 自动生成的构造函数存根
            radius=1;
        }
        public void  test(father f){
            System.out.println(1111);
        }    
    }
     
     class son extends father{
         public son() {
            // TODO 自动生成的构造函数存根
        radius=2;
         }
    public void test(son s){
        System.out.println(2222);
    }     
     }


这个测试里,f的实际类型是Circle 根据动态绑定运行的将是son类的test函数,而且函数的参数类型也是对的,为什么调用的是father类的test,当然这属于重载而不是覆盖.
如果把son的类中的test函数的参数s改成father类型,这样就办成了覆盖,然后会根据动态绑定运行son类的test.  初学请教一下原因.
搜索更多相关主题的帖子: java father 
2014-09-17 19:56
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
回复 3 楼 love 云彩
谢谢,我想我学语言的方法有问题,学语言主要是会用,而不是过分在意细节
2014-09-17 22:52
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
收藏
得分:0 
回复 5 楼 love 云彩
多谢指点。。。~
2014-09-17 23:56
快速回复:新学 java,关于覆盖和重载
数据加载中...
 
   



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

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