ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习笔记——Annotation注解(@Override、@Deprecated、@SuppressWarning)

2019-10-27 22:07:11  阅读:320  来源: 互联网

标签:Deprecated void App2 class Override connect 覆写 SuppressWarning public


Annotation介绍

Annotation是jdk1.5提供的一种新的技术开发结构,可以有效减少程序配置代码,可以进行结构化定义,是一种以注解形式实现的程序开发。
本次讲解的注解只是Java中基本注解:@Override、@Deprecated、@SuppressWarning


准确覆写(@Override)

当子类继承了父类之后如果发现父类中某些方法功能不足的时候往往会采用覆写。
明确两点:
·如果开发过程中子类忘记extends父类,则不叫覆写;
·如果进行覆写时候单词写错了,编译过程中不会出现错误,也不是覆写。

例子:观察一种覆写,追加注解

class Zhujie{
public void connect(){
System.out.println("l允许所有设备连接");
	}
}
class Data extends Zhujie{
@Override
public void connect(){
System.out.println("只允许以允许设备连接");
	}
}
public class App2 {
public static void main(String[] args){
// new Data().connect();
Data a=new Data();
a.connect();
  }
}

@Override//明确表示该方法是一个覆写方法,如果没有进行覆写会出现编译错误。


过期声明(@Deprecated)

是指在一个软件一个项目开发迭代过程中,可能有一个方法或者类,由于最初设计过程中存在缺陷,导致新版本有不适应的地方,这个时候为了给一个过渡的时间,于是就采用过期声明,目的是告诉新用户这些操作不要再用了。这样的方法必须利用@Deprecated注解。

class Zhujie{
@Deprecated //旧系统继续使用,新系统不使用
public void connect(){
System.out.println("1122334455");
	}
public void connection(){
    }
}
public class App2 {
public static void main(String[] args){
new Zhujie().connect();
 }
}

输出结果:
F:\Java学习\java>javac App2.java
注: App2.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。

F:\Java学习\java>java App2
1122334455
在这里插入图片描述


压制警告(@SuppressWarning)

消除提示信息,进行错误提示信息压制。

class Zhujie{
@Deprecated //旧系统继续使用,新系统不使用
public void connect(){
System.out.println("**********");
	}
public void connection(){
    }
}
public class App2 {
@SuppressWarnings({"deprecation"})
public static void main(String[] args){
new Zhujie().connect();
  }
}

输出结果:**********
以下两句过期声明的错误提示不会再出现。
*注: App2.java使用或覆盖了已过时的 API。
*注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。

标签:Deprecated,void,App2,class,Override,connect,覆写,SuppressWarning,public
来源: https://blog.csdn.net/weixin_45176509/article/details/102771846

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有