Annotation

注解:	Annotation
	1、内置注解:常见的三种内置注解
		1)、@Override	表示长些超类中的方法
		2)、@Deprecated	表示不建议使用的元素
		3)、SuppressWarnings	表示抑制程序中的一些警告
	2、元注解(meta-annotation):java.lang.annotion中定义了4个标准的元注解,(前两个常用)
		1)、@Target	表示注解的使用地点
		2)、@Retention		注解可以被读取的范围
		3)、@Documented
		4)、@Inherited
		
自定义注解格式:


		元注解(作用是来解释自定义注解)
		public	@interface  类名{
			参数
		}
		
注意事项:
		1、自定义注解时通常需要指定default值,如0,“”(空字符串),-1(表示不存在)
		2、如果不指定默认值,使用时就要添加,否者报错
		3、如果自定义注解只有一个参数,建议起名为value
		4、注意一下参数的形式 eg:String[] value() 看起来想函数,其实表示字符串数组

package com.chen.annotation01;

import java.util.Date;

/**
 * 认识一下常用的一些注解
 * @author Administrator
 *
 */
public class Demo01 {

	// 重写方法
	@Override
	public String toString() {

		return "我重写的";
	}
	
	
	public static void main(String[] args) {
		
		Date data = new Date();
		// 不建议使用的方法
		data.parse("dsacd");
		
	}
	
	
	@SuppressWarnings(value = { "all" })// value参数除了all外还有:deprecation、unchecked、finally....
	public void test01() {
		
		Date data = new Date();
		// 这里就不警告了
		data.parse("dsacd");
	}
}

package com.chen.annotation01;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解
 * @author Administrator
 *
 */
@Target(value = {ElementType.FIELD, ElementType.METHOD})// 适用于注解方法和属性,还有其他类型
@Retention(value = RetentionPolicy.RUNTIME)// 还有其他两种类型CLASS、SOURCE 但这种作用范围最广
public @interface MyAnnotation {

	String str() default "";
	int id() default 0;
	int x() default -1;
	String[] value();
}

package com.chen.annotation01;
/**
 * 测试自定义注解
 * @author Administrator
 *
 */
//报错,因为@MyAnnotation定义为只能用于方法和属性前面
//@MyAnnotation(id = 1, value = { "aaa" })
public class TestMyAnnotation {

	public static void main(String[] args) {
		
		
	}
	
	@MyAnnotation(id = 1, value = { "aaa" })// 由于value没有设置默认值,这里就必须指定
	public static void test01() {
		
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值