iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java注解的简单入门小案例
  • 724
分享到

Java注解的简单入门小案例

Java注解注解简单Java注解入门 2023-05-14 17:05:00 724人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录快速了解注解Talk is cheap, show me the code.定义注解定义类处理注解类测试测试结果快速了解注解 我发现现在很多资料讲的都太过于详细了,但是我们可能仅

快速了解注解

我发现现在很多资料讲的都太过于详细了,但是我们可能仅仅只是想要了解以下,注解的简单用法,并不需要了解那么多,而且虽然资料很多,可是对于像我这样的对Java了解并不多的人,看完哪些长篇大论,其实啥也没记住。这样我觉得效果,就不是很好,大部分人可能只是遇到了,想要知道它是干什么的?怎么使用?哪里管那么多,但是如果对于知识感兴趣还是要努力学习,看那些详细的资料就是最好的了。

Talk is cheap, show me the code.

定义注解

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

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyLoveForYou {
	String love();
}

定义类

public class Love {
	@MyLoveForYou(love="吾爱亦吾心")
	private String love;
	public String getLove() {
		return love;
	}
	public void setLove(String love) {
		this.love = love;
	}
	//重写 toString() 方法。
	@Override
	public String toString() {
		return "Love [love=" + love + "]";
	}
}

处理注解类

import java.lang.reflect.Field;

public class ProcessAnnotation {
	private static Love love;
	
	//创建 love 实例
	public static Love getLove(){
		Class<?> clazz = Love.class;
		try {
			Field field = clazz.getDeclaredField("love");
			field.setAccessible(true);
			MyLoveForYou  myLoveForYou = field.getAnnotation(MyLoveForYou.class);
			String fieldLove = myLoveForYou.love();
			try {
				love = (Love)clazz.newInstance();
			} catch (InstantiationException | IllegalAccessException e) {
				e.printStackTrace();
			}
			love.setLove(fieldLove);
		} catch (NoSuchFieldException | SecurityException e) {
			e.printStackTrace();
		}
		return love;
	}
}

测试

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class Test {
	public static void main(String[] args) throws 
	ClassNotFoundException, NoSuchMethodException, 
	SecurityException, InstantiationException, 
	IllegalAccessException, IllegalArgumentException, InvocationTargetException {
	//异常有点多,但是不用担心,其实只有三行代码。
		Love love = ProcessAnnotation.getLove();
		System.out.println(love.getLove());
		System.out.println(love.toString());
	}
}

测试结果

测试结果

简单说明以下

这里就使用了一个非常简单的注解类,使用了两个最基础的元注解(元注解的意思就是: 修饰的是类的属性 保留到运行期)。
然后就可以使用注解了,简单的使用其实很简单,就像下面这样就像了。

@MyLoveForYou(love="吾爱亦吾心")

这里强调以下,单纯的使用注解是没有任何用的,注解需要借助专门的工具处理,这里定义一个简单的处理注解的类(这个类可能需要一点反射的知识,但是也不要紧,如果你只想知道注解的作用,也可以不用管它,记住用法就行了):ProcessAnnotation
用法:这个类就是干一件事,给 love 赋值为 吾爱亦吾心
最后就是测试了,这里重写了toString() 方法,看起来更加直观一点。

最后
我觉得这里应该讲的很简单的,毕竟我了解的也不多,我也是才看了一点关于注解的知识,但是我觉得这里举的这个简单的小例子应该足够理解什么是注解了。真正的注解还是很复杂的,但是又不用我们来写,只要使用就行了,所以这应该就够了,但是对于想要深入学习的人,这是远远不够的。加油!

到此这篇关于Java注解的简单入门小案例的文章就介绍到这了,更多相关Java注解简单入门内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java注解的简单入门小案例

本文链接: https://www.lsjlt.com/news/203330.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作