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
可以转载我的学习日记但请注明出处,谢谢。

猜你喜欢

转载自blog.csdn.net/SIESTA030/article/details/109058892
今日推荐