A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© longer 中级黑马   /  2015-3-30 23:56  /  3644 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师的视频里面没看到,但有些程序里面都写了,到底什么情况下要写,写和不写有什么区别呀。

7 个回复

倒序浏览
要是实现接口,肯定都得重写,要是继承的父类中已经实现了方法,可以不用重写
回复 使用道具 举报
如果是继承某抽象类,肯定得实现它的抽象方法,那就必然要重写,如果是想用同样结构的函数实现不同的功能,也得重写
回复 使用道具 举报
可能是我没说清楚吧,我问的是@Override  这个标识是不是要写,就是有的地方看到写了,有的地方方法前面没有写@Override
回复 使用道具 举报
longer 发表于 2015-3-31 10:25
可能是我没说清楚吧,我问的是@Override  这个标识是不是要写,就是有的地方看到写了,有的地方方法前面没 ...

{:3_47:}那是一个给编译器看的注释,叫“啊呢替逊”,这个写了跟不写一样的,用Eclipse以后自然给你写上,写上这个就必须是重写方法,比如线程的Runnake接口 的run方法 如果你没写这个 拿你写一个public int run(){}  着是可以的,但是写了那个注释以后,你就不能这么写,这么写一定报错,这个给编译器看的注释以后就业班应该会说,但是没多大用处,写不写无所谓。
回复 使用道具 举报
@Override 这个是给开发工具(javac编译工具)传递信息,覆盖检查,作为一种标记的。

比如说你的类中要覆盖equals方法,但是你的参数类型写错了,比如
@Override
public boolean equals(String obj)
{
}这个时候开发工具,例如eclipse 就会给你报错提示,你并没有覆盖Object的equals方法,
正确的应该改为:equals(Object obj

所以,注释相当于一种标记,在程序中加了注释就等于为程序打上了某种标记,没加则等于没有某种标记,
以后javac编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无何种标记,
看你有什么标记,就去干相应的事。

标记可以加在包,类,字段,方法,方法的参数,以及局部变量上。

现在理解了么? 小小的注释,作用还是很大的。。。
回复 使用道具 举报
longer 中级黑马 2015-3-31 11:15:00
7#
yi岁⑨很乖❤ 发表于 2015-3-31 10:51
@Override 这个是给开发工具(javac编译工具)传递信息,覆盖检查,作为一种标记的。

比如说你的类中要覆 ...

谢谢耐心解答,学习了:lol
回复 使用道具 举报
longer 发表于 2015-3-31 11:15
谢谢耐心解答,学习了

不客气呢,其实我还想说,如果你愿意可以给我评个分,打赏点黑马币什么的:#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马