写点什么

Java | @Override 不要再把它当成可有可无的了

用户头像
YoungZY
关注
发布于: 2020 年 05 月 25 日

本文首发于 http://www.YoungZY.com/


@Override,一定不陌生吧!就是没敲过,也一定见过。

是不是觉得它可有可无,多它不多,少它不少?更有甚者,把它当个累赘。

不爱搭理它就算了。IDE 帮你生成了你还要删掉它,这就有点过分了哈。

它真的是毫无用处吗?开发 JDK 和 IDE 的大神们造了个无用的东西?

看看下面这个例子,请你来找茬儿。


IShape 类

public interface IShape {    String introduceYourself();}
复制代码


Rectangle 类

public class Rectangle implements IShape {    public String introduceYourself() {        return "我是一个长方形。";    }}
复制代码

Square 类

public class Square extends Rectangle {    public String introduceYouself() {        return "你可以叫我长方形,但它并不是我的真名。我的真名叫正方形。";    }}
复制代码

测试类

public class AnnotationTest {    @Test    public void introduceYourself() {        IShape aShape = new Square();        assertEquals("你可以叫我长方形,但它并不是我的真名。我的真名叫正方形。",         				aShape.introduceYourself());    }}
复制代码

测试结果

IDEA JUnit 测试结果

这是为什么呢? 明明是一个正方形,它怎么偏说自己是个长方形呢?​​能看出是哪的问题吗? 如果还是找不到问题,在方法上添加​​​@Override注解看看。 是不是很神奇?

所以,请善待它吧! 其实之前我也没认识到这一点。是最近听了一个关于 Annotation 的课才知道它还有这个用处。​

相关链接


阅读原文

发布于: 2020 年 05 月 25 日阅读数: 60
用户头像

YoungZY

关注

http://www.youngzy.com 2018.11.14 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
第一次用,平台挺不错的,用着方便。代码那里也好看
2020 年 05 月 25 日 12:24
回复
没有更多了
Java | @Override 不要再把它当成可有可无的了