黑马程序员技术交流社区

标题: 关于注解 [打印本页]

作者: 何竹冬    时间: 2013-1-5 20:30
标题: 关于注解
本帖最后由 张向辉 于 2013-1-16 11:32 编辑

老师在讲注解的时候说到Deprecated的时候说它的运行周期是Class,那为什么编译时期有提示,运行时期
没有呢?不明白,想不通啊,谁来解释一下。多谢了。

作者: 黄锦成    时间: 2013-1-6 09:32
注解分3种情况:源码、字节码、运行期。Deprecated只存在于字节码,运行时它已经不存在了。
作者: 何竹冬    时间: 2013-1-6 13:26
黄锦成 发表于 2013-1-6 09:32
注解分3种情况:源码、字节码、运行期。Deprecated只存在于字节码,运行时它已经不存在了。 ...

不是说需要编译器检查的属于源码吗
作者: 黄锦成    时间: 2013-1-6 13:34
何竹冬 发表于 2013-1-6 13:26
不是说需要编译器检查的属于源码吗

是的,注明源码时,编译器会检查,检查完后,在字节码中就不存在了
作者: 何竹冬    时间: 2013-1-6 13:37
黄锦成 发表于 2013-1-6 13:34
是的,注明源码时,编译器会检查,检查完后,在字节码中就不存在了

Depreacted不是也在被编译器检查吗
作者: 黄锦成    时间: 2013-1-6 13:47
何竹冬 发表于 2013-1-6 13:37
Depreacted不是也在被编译器检查吗

Depreacted这个注解本身也会被编译器检查
作者: 何竹冬    时间: 2013-1-6 13:50
黄锦成 发表于 2013-1-6 13:47
Depreacted这个注解本身也会被编译器检查

有点晕,能不能简单说一下,它从存在到被擦除的过程啊 ?
作者: 黄锦成    时间: 2013-1-6 13:59
何竹冬 发表于 2013-1-6 13:50
有点晕,能不能简单说一下,它从存在到被擦除的过程啊 ?

具体怎样檫除我就不清楚了,具体檫除是java做的,我只知道有这个檫除机制就行了。你可以去看java是怎么编译的
作者: 何竹冬    时间: 2013-1-6 14:06
黄锦成 发表于 2013-1-6 13:59
具体怎样檫除我就不清楚了,具体檫除是java做的,我只知道有这个檫除机制就行了。你可以去看java是怎么编 ...

是不是说,它从源文件中已经存在直到字节码中,运行之前会擦除它 ?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2