@Deprecated

/ ARC / 没有评论 / 50浏览
欢迎关注微信公众号:程序员小圈圈
原文首发于:www.zhangruibin.com
本文出自于:RebornChang的博客
转载请标明出处^_^

最近几天再过一遍阿里啊Java开发规范,打算将里面感觉理解模糊的小知识点做一个记录。 然后看到了@Deprecated注解,那这个注解有啥用呢?

字面含义为: | deprecated | | 英[ˈdeprəkeɪtɪd] | 美[ˈdeprəkeɪtɪd] |

| v. | 对…表示极不赞成; 强烈反对; |

| [词典] | deprecate的过去分词和过去式; |

那在Java代码中怎么使用有什么用途呢?

可以这么理解: 如果某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,不是不能用,而是不推荐使用。因为还有更好的方法可以调用。

看下源码:

/*
 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */   package java.lang;

import java.lang.annotation.*;
import static java.lang.annotation.ElementType.*;

/**
 * A program element annotated @Deprecated is one that programmers
 * are discouraged from using, typically because it is dangerous, * or because a better alternative exists.  Compilers warn when a * deprecated program element is used or overridden in non-deprecated code. * * @author Neal Gafter
 * @since 1.5
 * @jls 9.6.3.6 @Deprecated
 */
@Documented @Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}

原文注解翻译过来如下:

注释为@deprecated的程序元素是不鼓励程序员使用的元素,通常是因为它是危险的,或者是因为存在更好的替代方案。编译器在非弃用代码中使用或重写预先指定的程序元素时发出警告。

那在代码中使用效果是怎样的呢? 如下图所示:

,博主的微信公众号
程序员小圈圈’开始持续更新了哟~~
识别二维码或者直接搜索名字 ‘程序员小圈圈’ 即可关注本公众号哟~~
不只是有技术哟~~ 还有很多的学习娱乐资源免费下载哦~~ 还可以学下教育知识以及消遣娱乐哟~~ 求关注哟~~ '