首先明确一个概念:
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 学习笔记》 在Java的持久化框架中,Hibernate以其强大的功能和易用性成为开发者首选之一。而Hibernate Annotation则是Hibernate提供的一种基于注解的实体映射方式,它极大地简化了传统XML...
【Hibernate - Annotation 学习笔记】 Hibernate 是一个流行的开源Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据存储。Annotation是Hibernate提供的一种元...
1. 内置注解: - `@Override`:强制要求方法必须重写父类的一个方法。如果方法没有真正重写父类方法,编译器会报错,避免了因拼写错误导致的意外行为。 - `@Deprecated`:标记一个方法或类为过时,当其他代码使用...
1. **属性持久化与@Transient** - `@Transient` 注解用于标记不希望被持久化的属性,例如临时变量或计算属性。如果一个属性没有被任何注解标记,那么默认会被视为持久化属性,等同于添加了 `@Basic` 注解。 - `@...
考研英语GCC 中文手册.rar J2EE interview book Photo Frame Genius 2.3 破解版 Hiberate Annotation学习笔记 2008年11月份希赛模拟题 multisim 入门帮助文件和元件参数 精通PHP5 光盘源文件 深入理解LINUX 第三版 ...
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》这篇博文主要探讨的是在编程领域中,特别是Java语言中,关于Annotation(注解)的深入理解和应用。Annotation是Java语言提供的一种元数据,它为程序提供了额外的信息,这些信息可以被...
这篇"Spring MVC 学习笔记 七 controller中其他可用的annotation"可能涵盖了除我们常见的`@RequestMapping`之外的其他注解,这些注解使得控制器功能更加丰富和灵活。下面将详细探讨Spring MVC中Controller相关的注解...
1. 注解类型: - 标准注解:Java标准库提供了一些预定义的注解,如@Override、@Deprecated、@ SuppressWarnings等。它们有特定的用途,例如@Override表示方法是重写父类的方法,@Deprecated标记不再推荐使用的元素...
【标签】:Hibernate, Annotation, 笔记, 总结, 注解 【正文】: Hibernate Annotation是Hibernate框架的一个重要特性,它允许开发者直接在Java类上使用注解来定义对象的数据库映射,从而避免了传统的XML配置文件...
1. **Java环境搭建**:首先,学习Java SE需要安装Java Development Kit (JDK),设置好环境变量`JAVA_HOME`、`PATH`和`CLASSPATH`,以便于编译和运行Java程序。 2. **Java语法基础**:Java是一种面向对象的语言,其...
Java Annotation学习整理
Java JDK6学习笔记是针对Java编程语言初学者和进阶者的一份宝贵资源,它涵盖了Java的基础语法,并通过经典且易于理解的实例进行讲解。在本文中,我们将深入探讨Java JDK6中的关键概念和特性,以帮助你更好地理解和...
Java学习笔记是由知名IT教育专家林信良编著的一本深受好评的编程教材,特别适合初学者入门。这本书深入浅出地介绍了Java编程语言的基础知识和核心概念,旨在帮助读者快速掌握这一强大的开发工具。 首先,书中从Java...
### Hibernate Annotation 学习知识点详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (ORM) 巨具,它极大地简化了 Java 应用程序与数据库之间的交互过程。Hibernate 支持多种注解(Annotation),使得...