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 日 阅读数: 24
用户头像

YoungZY

关注

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

还未添加个人简介

评论 (1 条评论)

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