小工具      在线工具  汉语词典  css  js  c++  java

java 手动写一个注解

Java 额外说明

收录于:43天前

测试类Al.java

package cn.annotation.demo1;

import java.lang.reflect.Method;

import org.junit.Test;

public class Al 
{
	
	public static void main(String[] args) throws Exception
	{
		// 获取所有方法,看方法有没有没注解修饰
		Class clazz = Class.forName("cn.annotation.demo1.Al");
		// 获取所有方法
		Method[] methods = clazz.getMethods();
		// 循环所有方法
		for (Method method : methods) {
			// 判断哪些方法被注解修饰了
			if( method.isAnnotationPresent(MyTest.class))
			{
				// 执行
				method.invoke(clazz.newInstance(), args);
			}
			
		}
	}
	
	@MyTest  // 功能 :执行该方法
	public void test1()
	{
		System.out.println(1111);
	}
	
	@MyTest  // 功能 :执行该方法
	public void test2()
	{
		System.out.println(2222);
	}
	
	@MyTest  // 功能 :执行该方法
	public void test3()
	{
		System.out.println(33333);
	}
	
	// 没被注解修饰,不执行该方法
	public void test4()
	{
		System.out.println(444444);
	}
}

执行main方法后,控制台输出:

1111

2222

33333

注释 MyTest.java

package cn.annotation.demo1;

import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;

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

@Target({METHOD})   // 只对方法有效
@Retention(RetentionPolicy.RUNTIME) // 只对运行时有效
public @interface MyTest   // 自定义注解MyTest
{
	
}

. . .

相关推荐

额外说明

自学(黑客技术)-网络安全

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透 2.也有 Web 防御技术(WAF)。作为一个合格的网络安全工程师,应该做

额外说明

influxdb 时间范围查询

因为influxdb 的time使用的UTC时间格式,相比北京时间会有8小时的差距, 所以在做时间范围查询时做特殊处理, 网上找的方法,如在查询后面加时区(TZ('Asia/Shanghai'))无效果。 最后处理的方法是, 先将前端传过的来时间做减少8

额外说明

STM32H7串口查询模式接收串口接收溢出导致死机问题

串口溢出后,因为接收移位寄存器不会把接收到的数据放到接收寄存器中,则RXNE/RXFNE不会再置位,不能再接收,表现为串口死机 __STATIC_INLINE uint32_t LL_USART_IsActiveFlag_RXNE_RXFNE(USART

额外说明

从零构建医疗领域知识图谱的KBQA问答系统:其中7类实体,约3.7万实体,21万实体关系。

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

额外说明

NLP涉及技术原理和应用简单讲解【二】:paddle(分布式训练、AMP自动混合精度训练、模型量化、模型性能分析)

参考链接: https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/06_distributed_training/cluster_quick_start_cn.html https://

额外说明

【Redis高可用】

有时候单机形式下的redis性能不足时可能会挂掉导致系统服务异常,为了解决这个问题就有了下面这个内容。 一、Redis主从复制 1. 主从复制的理解 类似于MySQL的读写分离,一台Redis(主节点)进行写,其他Redis(从节点)进行读。 从节点建议

额外说明

机器学习 第六节 第七课

[toc] PeriodIndex 之前所学习的 DatatimeIndex 可以理解为时间戳. 那么现在我们要学习的 PeriodIndex 可以理解为时间段. 执行结果: 那么如果给这个时间段降采样呢? 执行结果:    

额外说明

软件设计的七大设计原则

设计模式概述   设计模式,本质上是对历史编程中出现的问题的经验总结,通过对历史中相同问题的解决方法的提炼,总结了大概二十多种设计模式,以便我们遇到相同的问题的时候,能够借鉴和直接拿来使用。所以,设计模式是一种思想层面的提炼,并不是java独有的东西。其

额外说明

备战Cloudera Data Engineer认证—1

今年定下的一个小目标,通过Cloudera的Data Engineer认证。在Cloudera的网站上看了一下,这个认证需要以下的知识: Data Ingest The skills to transfer data between external s

额外说明

无心剑中译海涅《新春》

New Spring (1) 新春(一) Heinrich Heine 海因里希·海涅 Sitting underneath white branches Far you hear where winds are wailing; Overhead yo

ads via 小工具