JAVA学习日记: 注解(3)

今天我学习的是注解的第三课(基础)

今天学习了的主要内容:

	1.注解使用的一些小解析
	2.标记注解

注解使用:

	当注解中有且仅有一个元素且元素名称就叫做value
 	可以使用如下方法赋值:
 				@注解名(要赋的值)

标记注解:

	标记注解和标记接口类似,该注解不具有任何元素
		标记接口,是没有任何抽象方法的接口;看似无用,即便实现这样的接口也没有需要实现的方法
		但是标记接口有一个重要的作用,即可以将一些实现了该接口的类看似同一个类型;更便于实现多态。
		标记注解也类似,虽然本身没有任何属性,只是一个标记而已,但是作用会在接下来的学习中做出阐释。
					咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》

TestDefineAnnotation类(主测试类)

package LessonForAnnotation03;

@Date2
public class TestDefineAnnotation 
{
	public static void main(String[] args) 
	{
		//接下来我们来给我们的自定义注解在使用时赋值
		//不能给值赋为null!!!!!!
		@Date(a = 1, b = 0.2, c = "我带你们打", d = {"q","a"}, 
			  e = String.class, datetest = DateTest.march,
			  sw = @SuppressWarnings(value = { "all" }))
		
		int a;
	}
}

/*
 * 	当注解中有且仅有一个元素且元素名称就叫做value
 * 	可以使用如下方法赋值:
 * 		@注解名(要赋的值)
 */
@Date2({"1","2"})//也可以主函数上面中的方法赋值
class TestDefineAnnotation2
{
	
}

//有一种极端情况,是你想给注解中的数组只赋一个值,并且注解只有一个字符串数组元素,字符串元素名称还是value
@Date2("1")//这种情况你甚至可以省略{}符号 
class TestDefineAnnotation3
{
	
}



Date注解:

package LessonForAnnotation03;

//	注解默认继承至Annotation接口
public @interface Date 
{
	public int a() default 1;//基本数据类型
	
	public double b() default 2.0;//基本数据类型
	
	String c() default "1234";//字符串
	
	String[] d() default {"1","2","3"};//数组
	
	Class<?> e() default String.class;//类
	
	DateTest datetest() default DateTest.march;//枚举

	SuppressWarnings sw() default @SuppressWarnings(value = { "all" });//注解
}

Date2注解:

public @interface Date2 
{
	String[] value() default {"1"};
}
部分文字来源于:
	咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》
	在这里十分感谢老师能够给我带来学习的激情.

2020.10.13
可以转载我的学习日记但请注明出处,谢谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值