qq_23908539 2015-08-12 00:41 采纳率: 87.5%
浏览 4721
已采纳

java中如果重载函数前不加@Override会怎么样?

比如重载toString函数,若前面不加那个@Override后果是什么?就不重载了?

 @Override
    public String toString()
    {
        return description;
    } 
  • 写回答

7条回答 默认 最新

  • 丶阿喜z 2015-08-12 01:08
    关注

    1.帮助自己检查是否正确的复写了父类中已有的方法

    2.告诉读代码的人,这是一个复写的方法

    关于第一点,我给你再说明一下:
    假设你现在要覆盖一个方法,然后因为你粗心,写错了参数的类型,刚好你又没有写@override注解,那么编辑器(eclipse)就不会提示你。
    这时候就产生了一个隐藏的bug,明明是准备复写方法,结果却是重载了方法。
    
    // 父类的方法:
    public void test(int i) {
        System.out.println(i);
    }
    
    // 子类重写
    
    // 第一种写法,正确
    @Override
    public void test(int i) {
        System.out.println(i + 1);
    }
    
    // 注意:这里因为人为粗心导致 i 的类型写成 float,没有写@Override注解,编辑器不会报错,那这里方法覆盖就变成了方法重载。
    public void test(float i) {
        System.out.println(i + 1);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM