Java基础之JDK三大主要特性—Annotation4月打卡day06

举报
java厂长 发表于 2022/04/06 21:51:17 2022/04/06
【摘要】 Java基础之JDK三大主要特性—Annotation4月打卡day06 关于作者作者介绍🍓 博客主页:作者主页🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆。🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻。 5、JDK三大主要特性——Annotation在JDK1.5...

Java基础之JDK三大主要特性—Annotation4月打卡day06

关于作者

  • 作者介绍

🍓 博客主页:作者主页

🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆。

🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻。

5、JDK三大主要特性——Annotation

在JDK1.5之后,程序允许通过注解(Annotation)的方式来进行程序的定义,而在JavaSE之中攒在了三种Annotation:@Override、@Deprecated、@SuppressWarnings。

5.1 准确的覆写:@Override

方法的覆写:发生继承关系之中,子类定义了与父类的方法名称相同、参数类型以及个数相同的覆写,被覆写的方法不能够拥有比父类更为严格的访问控制权限。

package com.annotation;
class Person{
	//现在是希望进行toString()覆写,但遗憾的由于你自己的输入错误,导致方法的覆写错误
	//@Override
	public String tostring(){//现在希望可以进行toString()方法的覆写
		return "一个人";
	}
}
public class Demo1 {
	public static void main(String[] args) {
		System.out.println(new Person().tostring());
	}
}

这个时候不叫覆写,属于自己定义一个扩展的方法,最为重要的是,这个问题在程序编译的根本就无法显示出来。但是现在为了保证我们的覆写方法的严格,可以使用一个注解(@Override)来检测:如果该方法确定成的覆写了

,则不会有我们的语法错误,如果进行成功的覆写,认为语法的错误。

package com.annotation;
class Person{
	//现在是希望进行toString()覆写,但遗憾的由于你自己的输入错误,导致方法的覆写错误
	public String toString(){//现在希望可以进行toString()方法的覆写
		return "一个人";
	}
}
public class Demo1 {
	public static void main(String[] args) {
		System.out.println(new Person());
	}
}
5.2 声明过期操作:@Deprecated

对于程序开发而言,往往一些使用的类要进行修改或者是维护,如果说现在一个类之中的某个方法,可能一开始推出的时候正常使用,但是在后面的版本就存在了一些问题,在修改之后不希望人再去使用这些方法,那么肯定不能直接删除,因为如果直接删除了,那么之前的程序就会出现问题了,所以最好的做法是告诉用户:这个方法存在了问题,不建议再使用了,这个时候就使用“@Deprecated”声明。

package com.annotation;
class Person1{
	@Deprecated//表示该方法不建议使用,即使使用仍然不会报错
	public Person1(){}
	public Person1(String name){}
	@Deprecated
	public void print(){}
}
public class Demo2 {
	public static void main(String[] args) {
		Person1 person = new Person1();//明确标记过期
		person.print();
	}
}
5.3 压制警告:@SuppressWarning

程序在编译的时候如果提示警告但是不会报错只是存在了某些安全隐患,肯定会提示用户,所以不想让其显示的话,就增加压制警告信息。

package com.annotation;
class Person1<T>{
	@Deprecated//表示该方法不建议使用,即使使用仍然不会报错
	public Person1(){}
	public Person1(String name){}
	@Deprecated
	public void print(){}
}
public class Demo2 {
	@SuppressWarnings("rawtypes")
	public static void main(String[] args) {
		Person1 person = new Person1();//明确标记过期
		person.print();
	}
}

关于软件的开发模式;

​ 第一阶段:会将所有的操作都写在程序之中,例如:网络程序,连接程序,连接的服务器地址,用户验证等;

​ 第二阶段:程序+配置文件,配置文件和程序相分离,配置文件过多,后期修改非常复杂;

​ 第三阶段:将配置文件写回到程序之中,但是和程序进行有效的分离。

后语

厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。

对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。