“自定义注解”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第37行: 第37行:
 
 
 
int age();
 
int age();
 +
 +
}
 +
</syntaxhighlight>Test1.java<syntaxhighlight lang="java">
 +
public class Test1 {
 +
 +
// 使用带成员变量的 Annotation 时,需要为成员变量赋值
 +
@MyTag(name="xx", age=6)
 +
public void info() {
 +
 +
}
 
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

2024年7月10日 (三) 05:08的版本

简单的 Annotaion

Test.java

/**
 * 定义一个简单的 Annotation 类型
 */
public @interface Test {

}

定义了该 Annotation 之后,就可以在程序的任何地方使用该 Annotation, MyClass.java

// 使用 @Test 修饰类定义
@Test
public class MyClass {

}

默认情况下,Annotation 可用于修饰任何程序元素,包括类、接口、方法等, MyClass1.java

public class MyClass1 {

	// 使用 @Test Annotation 修饰方法
	@Test
	public void info() {
		
	}
	
}

复杂一点的 Annotation

MyTag.java

public @interface MyTag {

	// 定义了两个成员变量的 Annotation
	String name();
	
	int age();
	
}

Test1.java

public class Test1 {

	// 使用带成员变量的 Annotation 时,需要为成员变量赋值
	@MyTag(name="xx", age=6)
	public void info() {
		
	}
	
}