专栏名称: 程序员之家
程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!
目录
相关文章推荐
OSC开源社区  ·  马建仓 AI ... ·  14 小时前  
京东科技技术说  ·  【银河麒麟高级服务器操作系统】正式上线云主机 ... ·  3 天前  
阿里技术  ·  Cursor入门:MCP开发调用和项目实战 ·  2 天前  
稀土掘金技术社区  ·  协程中使用 ... ·  3 天前  
腾讯技术工程  ·  腾讯Kuikly框架鸿蒙版正式开源 —— ... ·  4 天前  
51好读  ›  专栏  ›  程序员之家

框架开发之 Java 注解的妙用

程序员之家  · 公众号  · 程序员  · 2017-05-05 22:00

正文

请到「今天看啥」查看全文



@Override

public void work() {


}


看到这里,我们发现这里的所有方法都会加上一个@Override标记,它告诉我们,同时也告诉编译器我们的这些方法肯定覆盖了类people里面的方法的。假如说,我现在把类people里面的某一个方法注释掉:


//public String name();


再看类Child里面的name方法就会报错。这样,以后大家看到@Override的时候就能想到这个方法是覆盖了某个接口的方法的。


然后,我们回过头来看类people里面有一个work的方法。这里我们可以理解为人是要工作的,但是并不是所有的人都在工作,那么怎么办呢?如果说这个接口正在用,我们不能删除这个方法,这个时候我们就可以这样:


@Deprecated

public void work();


@Deprecated标记就表明这个方法已经过时了,在实际中,它又有什么样的应用场景呢?我们在建一个测试类:


public class Test {

public void work() {

people people=new Child();

!        people.work();

}

}


这个时候我们会发现myeclipse会给一个警告,并且在work中间出现一个破折号,意思就是这个方法已经过时了。那么问题来了,虽然这个方法过时了,但是我们就是那么傲娇,一定要用它,怎么办呢?只需要这样:


public class Test {

@SuppressWarnings("deprecation")

public void work() {

people people=new Child();

people.work();

}

}


这样我们就忽略了这个警告。@SuppressWarnings(“deprecation”)就表示我们忽略了deprecation这样的一个警告。


2)Java第三方注解




二、注解的分类


1)按照运行机制划分:


【源码注解→编译时注解→运行时注解】


源码注解:只在源码中存在,编译成.class文件就不存在了。


编译时注解:在源码和.class文件中都存在。像前面的@Override、@Deprecated、@SuppressWarnings,他们都属于编译时注解。







请到「今天看啥」查看全文