小春网

 找回密码
 注册账号
查看: 2103|回复: 5
收起左侧

[IT 交流] JAVA アノテーション

[复制链接]
发表于 2016-2-9 11:27:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

x
本帖最后由 春夏秋冬2016 于 2016-2-9 12:20 编辑

网上检索了一些,但是总的感觉很抽象,谁能给解释一下具体用法阿。

アノテーション
①オーバーライド
@Override
②非推奨宣言
@Deprecated
③警告メッセージを抑制する
@SuppressWarnings("deprecation")
发表于 2016-2-11 20:19:00 | 显示全部楼层
回复

使用道具 举报

发表于 2016-2-11 20:42:46 | 显示全部楼层
Java注解(注解/Annotation/アノテーション)

①覆盖/Override/オーバーライド(@Override)比如父类里有一个方法,子类里有一个完全一样定义的方法,子类的方法会覆盖掉父类的方法,这时候如果使用JDK进行编译,会给出警告,提示你子类覆盖了父类的方法,来和你确认这是否是你本来的设计意图。
因为大型的项目里,如果编译出现大量的警告的话,会让人漏看本来非常重要的警告信息。
所以编译器提供这一个功能,如果你在子类当中加上@Override这个Java注解,相当于告诉编译器这就是你本来的意图,这样编译时就不再给出提示了。

②废弃方法/Deprecated/非推奨宣言(@Deprecated)
Java语言一直在发展,有一些方法由于有更好的实现了,所以旧的方法就被废弃,也就是不再被推荐使用。
和①一样如果用新的编译器编译旧的代码(比如JDK8编译以前的为JDK5写的Java代码),就会出现大量的编译警告,提示这个旧的方法最好用那个新的方法来实现,如果有大量的这种警告信息时,也会造成不必要的麻烦。所以这个Java注解,有时对整个Java工程使用,用来压制不必要的警告信息。


可能会想:把所有的提示的地方都修改为最新的实现不就可以了吗?
当然在拥有所有代码的系统中,这也许可行,但是得投入大量的时间和工数来开发和测试这些修改的代码。
有些经年开发的系统,或者系统委托给很多公司共同开发,或者使用了第三方库的系统,由于没有完整的源代码,导致不太可能持有和修改所有的代码,这个时候就必须得靠Java注解来压制不必要的警告信息了。

③警告メッセージを抑制する
@SuppressWarnings("deprecation")
因为②已经解释的比较清楚了,这里仅说明一下,把这个Java注释放到类的定义的最开始的位置或者方法的最开始的位置,就会压制住所有的非推荐方法的警告了。


如果想看如何使用的具体的例子,可以在网上找完整的Java语言的系统的源代码,在里面检索一下这些关键字,看到例子就知道其他人都如何使用啦。

评分

参与人数 1 +11 收起 理由
等待UFO + 11 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-12 14:24:59 | 显示全部楼层
憨吃迷糊睡 发表于 2016-2-11 20:42
Java注解(注解/Annotation/アノテーション)

①覆盖/Override/オーバーライド(@Override)比如父类里有 ...

虽然还是一知半解,回答得如此详细真是太感谢了。就是不知道如何具体使用。
回复

使用道具 举报

发表于 2016-2-13 11:33:59 | 显示全部楼层
春夏秋冬2016 发表于 2016-2-12 14:24
虽然还是一知半解,回答得如此详细真是太感谢了。就是不知道如何具体使用。 ...

暂时记住最重要的功能就是用来压制不必要的编译器警告信息差不多就可以啦
回复

使用道具 举报

 楼主| 发表于 2016-2-13 18:34:14 | 显示全部楼层
憨吃迷糊睡 发表于 2016-2-13 11:33
暂时记住最重要的功能就是用来压制不必要的编译器警告信息差不多就可以啦 ...

谢谢。。。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小春网
常务客服微信
微信订阅号
手机客户端
扫一扫,查看更方便! 快速回复 返回顶部 返回列表