`
hl756799782
  • 浏览: 77834 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

张龙 Annotation学习笔记1

阅读更多

首先明确一个概念:
annotation=注解      comment=注释  不要混淆了

a) Override注解表示子类要重写(override)父类的对应方法。
举例:OverrideTest.java

 

package com.shengsiyuan.annotation;

public class OverrideTest
{
	@Override
        //该注解表示该类重写了父类的方法
	public String toString()
	{
		return "This is OverrideTest";
	}
	
	public static void main(String[] args)
	{
		OverrideTest test = new OverrideTest();
		
		System.out.println(test);
	}
} 

b) Deprecated注解表示方法是不建议被使用的。
举例:DeprecatedTest.java 

package com.shengsiyuan.annotation;

public class DeprecatedTest
{
	@Deprecated
        //该注解表示这个方法是废弃的,不建议被使用的
	public void doSomething()
	{
		System.out.println("do something!");
	}
	
	public static void main(String[] args)
	{
		DeprecatedTest test = new DeprecatedTest();
		
		test.doSomething();
		
		
		
		
		
		
//		Date date = new Date();
//		
//		System.out.println(date.toLocaleString());
	}
}

c) SuppressWarnings注解表示抑制警告。
举例:SuppressWarningsTest.java

package com.shengsiyuan.annotation;

import java.util.Date;
import java.util.Map;
import java.util.TreeMap;

public class SuppressWarningsTest
{
	@SuppressWarnings({"unchecked", "deprecation"})
   //该注解表示一些警告会被压制住
   //unchecked表示不对集合没有使用泛型进行警告
   //deprecation表示不对已经废弃的方法的使用进行警告
	public static void main(String[] args)
	{
		Map map = new TreeMap();
		
		map.put("hello", new Date());
		
		System.out.println(map.get("hello"));
		
		Date date = new Date();
		
		System.out.println(date.toLocaleString());
	}
}

关于自定义注解

自定义注解:当注解中的属性名为value时,在对其赋值时可以不指定属性的名称而直接写上属性值即可;除了value以外的其他值都需要使用name=value这种赋值方式,即明确指定给谁赋值。
举例如下:
(1)先定义一个注解 

package com.shengsiyuan.annotation;

public @interface AnnotationTest
{
        //注解里定义属性要在属性后面加一个括号
	String[] value1() default "hello";//有一个默认值hello
	EnumTest value2(); //注解里面的值也可定义为枚举类型
}

enum EnumTest
{
	Hello, World, Welcome;
}

 注意:当一个接口继承Annotation接口时,该接口依然只是一个接口,还不是注解类型,
         要定义注解类型只有一种方式:通过@interface关键字,除此之外别无他法。
         另外,Annotation本身也只是一个接口,并不是注解类型(可以查看API文档有        Annotation这个接口)

(2)引用上面的注解 

package com.shengsiyuan.annotation;

@AnnotationTest(value2 = EnumTest.Welcome)
public class AnnotationUsage
{
	@AnnotationTest(value1 = {"world", "ABCD"}, value2 = EnumTest.World)
	public void method()
	{
	   System.out.println("usage of annotation");
	}
	
	public static void main(String[] args)
	{
	   AnnotationUsage usage = new AnnotationUsage();
		
                   usage.method();
	}
}

 

最后有一点需要注意的是:
当我们使用@interface关键字定义一个注解时,该注解隐含地继承了java.lang.annotation.Annotation接口;如果我们定义了一个接口,并且让该接口继承自Annotation,那么我们所定义的接口依然还是接口而不是注解;Annotation本身是接口而不是注解。可以与Enum类比。


 

 

 

分享到:
评论

相关推荐

    Hibernate Annotation 学习笔记

    《Hibernate Annotation 学习笔记》 在Java的持久化框架中,Hibernate以其强大的功能和易用性成为开发者首选之一。而Hibernate Annotation则是Hibernate提供的一种基于注解的实体映射方式,它极大地简化了传统XML...

    Hibernate -annotation 学习笔记

    【Hibernate - Annotation 学习笔记】 Hibernate 是一个流行的开源Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据存储。Annotation是Hibernate提供的一种元...

    Java 5 annotation 学习笔记

    1. 内置注解: - `@Override`:强制要求方法必须重写父类的一个方法。如果方法没有真正重写父类方法,编译器会报错,避免了因拼写错误导致的意外行为。 - `@Deprecated`:标记一个方法或类为过时,当其他代码使用...

    Hiberate Annotation学习笔记

    1. **属性持久化与@Transient** - `@Transient` 注解用于标记不希望被持久化的属性,例如临时变量或计算属性。如果一个属性没有被任何注解标记,那么默认会被视为持久化属性,等同于添加了 `@Basic` 注解。 - `@...

    考研英语GCC 中文手册.rar J2EE interview book Photo Frame Genius 2.3 破解版 Hiberate Annotation学习笔记 2008年11月份希赛模拟题 multisim 入门帮助文件和元件参数 精通PHP5 光盘源文件 深入理解LINUX 第三版 (英文) 清华大学严蔚敏数据结构(C版)配套光盘 破解万象2008玩免费 jsp学习详细

    考研英语GCC 中文手册.rar J2EE interview book Photo Frame Genius 2.3 破解版 Hiberate Annotation学习笔记 2008年11月份希赛模拟题 multisim 入门帮助文件和元件参数 精通PHP5 光盘源文件 深入理解LINUX 第三版 ...

    Hibernate_annotation_学习笔记

    Hibernate_annotation_学习笔记 第1课 课程内容 6 第2课 Hibernate UML图 6 第3课 风格 7 第4课 资源 7 第5课 环境准备 7 第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 ...

    MLDN学习笔记 —— Annotation

    《MLDN学习笔记——Annotation》这篇博文主要探讨的是在编程领域中,特别是Java语言中,关于Annotation(注解)的深入理解和应用。Annotation是Java语言提供的一种元数据,它为程序提供了额外的信息,这些信息可以被...

    Spring MVC 学习笔记 七 controller中其他可用的annotation

    这篇"Spring MVC 学习笔记 七 controller中其他可用的annotation"可能涵盖了除我们常见的`@RequestMapping`之外的其他注解,这些注解使得控制器功能更加丰富和灵活。下面将详细探讨Spring MVC中Controller相关的注解...

    JAVA Annotation学习

    1. 注解类型: - 标准注解:Java标准库提供了一些预定义的注解,如@Override、@Deprecated、@ SuppressWarnings等。它们有特定的用途,例如@Override表示方法是重写父类的方法,@Deprecated标记不再推荐使用的元素...

    Hibernate Annotation 笔记 总结 注解

    【标签】:Hibernate, Annotation, 笔记, 总结, 注解 【正文】: Hibernate Annotation是Hibernate框架的一个重要特性,它允许开发者直接在Java类上使用注解来定义对象的数据库映射,从而避免了传统的XML配置文件...

    张龙 java se课程笔记

    1. **Java环境搭建**:首先,学习Java SE需要安装Java Development Kit (JDK),设置好环境变量`JAVA_HOME`、`PATH`和`CLASSPATH`,以便于编译和运行Java程序。 2. **Java语法基础**:Java是一种面向对象的语言,其...

    Java Annotation学习整理.doc

    Java Annotation学习整理

    JAVA JDK6学习笔记

    Java JDK6学习笔记是针对Java编程语言初学者和进阶者的一份宝贵资源,它涵盖了Java的基础语法,并通过经典且易于理解的实例进行讲解。在本文中,我们将深入探讨Java JDK6中的关键概念和特性,以帮助你更好地理解和...

    java学习笔记

    Java学习笔记是由知名IT教育专家林信良编著的一本深受好评的编程教材,特别适合初学者入门。这本书深入浅出地介绍了Java编程语言的基础知识和核心概念,旨在帮助读者快速掌握这一强大的开发工具。 首先,书中从Java...

    hibernate annotation学习文档

    ### Hibernate Annotation 学习知识点详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (ORM) 巨具,它极大地简化了 Java 应用程序与数据库之间的交互过程。Hibernate 支持多种注解(Annotation),使得...

Global site tag (gtag.js) - Google Analytics