怎样写注解?

注释: 给其它开发人员阅读

注解:给程序阅读的注释 ----  取代配置文件

注解 是Java5新特性

@Override: 限定重写父类方法, 该注解只能用于方法

@Deprecated: 用于表示某个程序元素(类, 方法等)已过时

@SuppressWarnings: 抑制编译器警告.

//限定该注解仅仅可以作用在方法
@Target(ElementType.METHOD)
// 注解生效的时间
@Retention(RetentionPolicy.RUNTIME)
public @interface PersonInfo {
	String[] food();
}

注意事项:

1、 注解属性可以是哪些类型?

String、基本数据类型、enum、Class 、其它注解类型、以上数据类型相应一维数组

2、 特殊属性 value

在应用注解时,需要为注解每个属性赋值(有默认值可以忽略)

使用注解:反射

@PersonInfo(food = { "juice", "beer" })
	public void drink() {
		// 拿到字节码对象
		Class clazz = this.getClass();
		// 拿到其中的方法
		Method method;
		try {
			method = clazz.getDeclaredMethod("drink");
			boolean flag = method.isAnnotationPresent(PersonInfo.class);
			if (!flag) {
				System.out.println(this.name + "没得喝");
				return;
			}
			PersonInfo info = method.getAnnotation(PersonInfo.class);
			String[] food = info.food();
			System.out.println(this.name + "喝" + Arrays.toString(food));
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Person p = new Person();
		p.setName("ann");
		p.drink();
	}
时间: 2024-12-20 08:02:22

怎样写注解?的相关文章

<c:choose>标签内出错。不能写注解,否则就会报错

org.apache.jasper.JasperException: Validation error messages from TagLibraryValidator for c in /WEB-INF/views/modules/fdzapp/combineCostList_Wf.jsp 113: Illegal text inside "c:choose" tag: "<!-- 状态...". at org.apache.jasper.compiler

【java开发系列】—— 自定义注解(转)

之前在开发中,就总纳闷,为什么继承接口时,会出现@Override注解,有时候还会提示写注解@SuppressWarnings? 原来这是java特有的特性,注解! 那么什么是注解呢? 注解就是某种注解类型的一个实例,我们可以用它在某个类上进行标注,这样编译器在编译我们的文件时,会根据我们自己设定的方法来编译类. 注解都是什么呢?看下面这张图就明白了! 上面的图可以看出,注解大体上分为三种:标记注解,一般注解,元注解 这里面Override这个没测试出来,因为目前的Eclipse会自动帮我们排错

Android 自定义注解框架

前言 在我们的项目中,我们几乎天天和一些固定的代码打交道,比如在Activity中你要写findViewById(int)方法来找到控件,然而这样子的代码对于一个稍微有点资格的程序员来说,都是毫无营养的,你根本学不到任何的东西,但是你却必须写.这也就是注解框架的出现,极大的简化了程序员的工作,并且让代码简洁.也许你早就使用过了注解的框架,那么你会自己自己写么?好了,今天就让大家来完成一个注解的框架 阅读的你需要掌握的知识 1.Java反射的知识 2.Java注解的知识 普通的写法 xml布局文件

Java中三种常见的注释(注解) Annotation

Java为我们提供了三种Annotation方便我们开发. 1 Override-函数覆写注解 如果我们想覆写Object的toString()方法,请看下面的代码: 1 class AnnotationDemo 2 { 3 private String info; 4 public AnnotationDemo(String info) 5 { 6 this.info = info; 7 } 8 9 public String tostring() 10 { 11 return "info的值

javaweb-单元测试与注解

本来这一篇是接在上一篇后面的,但是晚上写到一半有事出去了,故而分开了, 这一篇用到了jar包有:mysql-connector-java-5.0.8-bin.jar 7,注解: 7.1 概述:jdk5.0的新特性 包括有:泛型,自动装箱,自动拆箱,静态导入,可变参数,增强for循环,枚举等(快去把老版本的jdk升级吧) 7.1.1 注解不是注释 注释是给程序员看代码用的,注解是代码中的特殊标记,可以看做是替代配置文件的选择,本身意义不大,但是可以通过注解+反射组合告诉类该如何运行 7.1.2 写

JDK1.5的新特性:javabean、注解类、类加载器

关于Java基础的文章,我觉得写得还可以,以前发在了我其它的博客了,肯定是原创,现在再分享给大家出来. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

【Spring】的【Bean】管理(注解)【四个相同功能的注解】

[Spring]的[Bean]管理(注解)[四个相同功能的注解] 注解:代码里面特殊的标记,使用注解也可以完成一些相关的功能. 注解写法:@注解名称(属性名称=属性值) 注解使用在类.方法.属性上面 (注解可以替代配置文件,并非完全替代): 1.创建类,创建方法 1 public class User { 2 public void add(){ 3 System.out.println("add-----------"); 4 } 5 } 2.创建spring配置文件,引入约束 1

Hibernate注解配置

1.注解方式: 注解的方式与xml很很多类似: 首先是需要在pom文件中加入4个jar包: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach

Annotation(一)——注解开发介绍

在编程中,一直强调的一点就是注释的编写,注释的规范等等.尤其是越是核心,程序越复杂,逻辑越多的清空下,注释的编写对我们以后的阅读代码,维护软件起着至关重要的作用.一款软件有着好的注释,相当于一个中国人阅读一篇带着汉语翻译的英文文章,其阅读速度是事半功倍的效果.但是今天想要总结的却不是代码中的注释需要注意的问题,而是JDK5.0以后提供的一种新特性. 一, Annotation(注解),其实就是对类,方法,属性进行的一种标示,一种注释(注意,这个里注释不是为了让我们开发或维护人员阅读更方便,而是为