注解的讲解

注解
Annotation(注释  注解)

注释
单行注释   //
多行注释   /*      */
文档注释   /**    */

注解
1.注解的写法
	@XXX [(一些信息)]
2.注解放置在哪里
	类的上面   属性上面  方法上面  构造方法上面  参数前面
3.注解的作用
	1.用来充当注释的作用(仅仅是一个文字的说明)   @Deprecated
	2.用来做代码的检测(验证)	@Override
	*3.可以携带一些信息(内容)	文件.properties  .xml   注解
4.Java中有一些人家写好的注解供我们使用
	@Deprecated     用来说明方法是废弃的
	@Override          用来做代码检测   检测此方法是否是一个重写
	@SuppressWarnings(信息)	String[]    {""}   如果数组内的元素只有一个长度  可以省略{}
		unused	变量定义后未被使用
		serial	类实现了序列化接口  不添加序列化ID号
		rawtypes	集合没有定义泛型
		deprecation   方法以废弃    
		*unchecked   出现了泛型的问题  可以不检测
		all	包含了以上所有(不推荐)
5.注解中可以携带信息  可以不携带
	信息不能随意写   信息的类型只能是如下的类型
	1.基本数据类型
	2.String类型
	3.枚举类型enum
	4.注解类型@
	5.数组类型[]   数组的内部需要是如上的四种类型
6.如何自己描述一个注解类型
	1.通过@interface 定义一个新的注解类型
	2.发现写法与接口非常相似(可以利用接口的特点来记忆注解)
		可以描述public static final的属性  比较少见
		可以描述public abstract的方法  方法要求返回值必须有  返回值类型是如上那些
	3.我们自己定义的注解如果想要拿来使用
		光定义还不够  还需要做很多细致的说明(需要利用Java提供好的注解来说明)
		元注解(也是注解 不是拿来使用的 是用来说明注解)
		@Target	描述当前的这个注解可以放置在哪里写的
		@Retention  描述当前的这个注解存在什么作用域中的
			源代码文件--->编译--->字节码文件--->加载--->内存执行
			SOURCE		      CLASS		        RUNTIME
		@Inherited   描述当前这个注解是否能被子类对象继承
		@Document   描述这个注解是否能被文档所记录
	4.自己使用自己描述的注解
		问题1.  在注解里面描述了一个方法   方法没有参数   方法是有返回值String[]
			使用注解的时候   让我们传递参数
			理解为  注解的方法做事   将我们传递给他的参数  搬运走了  给了别人
		问题2.  使用别人写好的注解不用写方法名  我们自己定义的方法必须写名字
			如果我们自己定义的注解  只有一个方法  方法名字叫value
			在使用的时候就可以省略方法名	
			如果传递的信息是一个数组   数组内只有一个元素  可以省略{}
			如果方法是两个以上  每一个方法必须写名字

如何解析注解内携带的信息(反射机制)
注解应用场景

==========================================================
	Properties类的使用
		java.util
		继承HashTable
		使用方式像是map集合     value = getProperty(key)方法
		读取的信息是文件
		文件的后缀名.properties
		文件里面key=value

	1.注解写法
		@XXXX (信息)
	2.注解放置在哪里写
		类  方法  属性  构造  变量  参数(前面)
	3.Java中定义好的注解
		@Deprecated	废弃的
		@Override	检测方法是否是重写
		@SuppressWarnings   去掉程序中的警告(尽量不要用  尽量通过编写代码去掉警告)
			unused   serial   rawtypes    deprecation   unchecked   all
	4.如何自己定义注解
		描述一个自己的类    @interface
		类的上面通过元注解来描述
			@Target
			@Retention
			@Inherited
		想要携带一些信息   自定义注解类型  添加方法
			方法要求必须有返回值  返回值类型   基本  String  枚举  注解  数组
			方法的作用将我们传递的信息  搬走了  交给别人
	5.注解的作用
		充当注释  仅仅是一个文字说明
		代码检测  @Override
		携带信息
	6.如何访问到注解对象
	   如何获取里面的信息(需要反射机制)
	7.注解在开发中应用的场景

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值