`
heimeiyingwang
  • 浏览: 97527 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

corejava辅导(17--1)

JVM 
阅读更多

JAVA5.0 的注释 (Annotation)

 

描述代码的代码。给编译器看的代码,作用是规范编译器的语法。

class Student{

     @Override

     public String toString(){

         return “student”;

     }

 

}

类型(接口)

1.        标记注释

标记注释中没有属性,所以也不需要为属性赋值

@Override

 

2.      单值注释

单值注释中只能定义一个属性。

@注释名(prameter=10

       int parameter

 

特例:

@注释名 (value “134” )(当单值注释的属性名为value时,可以省略属性名,直接写值)

 

@SuperessWarning({“ddd”,”aaa”,”ccc”})  //JVM还没有实现这个注释

 

3.普通注释(多值注释)

(key1=value,……)

 

4.自定义注释

public  @interface Test{

 

}

 

在自定义注释时,要用注释来注释(描述)注释。

@Target(value={……}),用来描述自定义注释所适用的程序元素的种类单值注释

这个注释的值只能是ElementType枚举值,只能使用以下的值

ANNOTATION_TYPE 注释类型声明

CONSTRUCTOR 构造方法声明

FIELD 属性声明(包括枚举常量)

LOCAL_VARIABLE 局部变量声明

METHOD 方法声明 (常用)

PACKAGE 包声明

PARAMETER 参数声明

TYPE 类、接口(包括注释类型)或枚举声明(常用)

例:

@Target({ElementType.METHOD, ElementType .TYPE})//表示这个注释可用的范围,这个注释可以用在方法和类型及接口。

 

@Retention(value=……),描述(注释)注释能够保留到什么时候。单值注释

其中的值只能是以下的RetentionPolicy枚举的值

CLASS 编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。

RUNTIME  编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。

SOURCE 编译器要丢弃的注释。

例:

@Retention(RetentionPolicy.RUNTIME)

// 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。

 

@Documented表示某一类型的注释将通过 javadoc 和类似的默认工具进行文档化

 

@Inherited 表示注释类型该注释会被自动继承

 

注释的属性类型可以是8种基本类型StringEnumClassAnnotation以及它们的数组

 

例:

@Test()

public class MyClass2 {

     @Test()

     public void study(String name){

         System.out.println("Study "+name);

     }

    

     @Test(value="Meal")//单值注释

     @Author(value={@Name(firstName="Liu",lastName="Chunyang"),@Name(firstName="Xue",lastName="Hiloo")})//单值注释中是用数组类型地赋值方法

     public void eat(String food){

         System.out.println("Eat "+food);

     }

}

 

自定义注释的写法

例:

import java.lang.annotation.*;

@Target({ElementType.METHOD})

//表示这个注释可用的范围,这个注释只能用在方法之上。

@Retention(RetentionPolicy.RUNTIME)

// 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。public @interface Author {

     Name[] value();

/*

定义注释的属性,注意属性后面要价括号,这个属性既是属性又是方法,可以返回属性的值

*/

}

 

import java.lang.annotation.*;

@Target({ElementType.METHOD,ElementType.TYPE})//这个注释可用于类,接口和方法

@Retention(RetentionPolicy.RUNTIME)

public @interface Test {

     String value() default "ABC" ;//定义注释的属性及其默认值

}

分享到:
评论

相关推荐

    很好的一本java辅导资料!

    2. **corejava辅导(1--1)至(5--3)**:这些章节可能逐步介绍了Java语言的基础语法,如变量、数据类型、运算符、控制流程(条件语句、循环)、方法定义和调用、数组的使用以及字符串处理。 3. **corejava辅导(2-...

    Java面试集锦: Core Java Essentials

    整体来看,《Java面试集锦: Core Java Essentials》是一本全面覆盖Java核心技术要点的面试辅导书籍。无论是对于即将参加面试的求职者,还是希望巩固Java基础知识的开发者,本书都提供了丰富的学习材料和面试问题,...

    java知识全集

    **3.2 corejava辅导(1--1)** - **基本数据类型**: 如int、double等。 - **字符串操作**: 字符串的创建和常用操作。 - **数组**: 数组的声明、初始化和遍历。 **3.3 corejava辅导(1--2)** - **循环结构**: for...

    几万的Java上课内容,辅导班弄来的,大家自学的可以看看

    1. Java设计和编程基础:涵盖Core Java编程基础、Java设计原则、算法、模式等核心知识。 2. 数据库和Web前端技术:涉及数据库技术(如Oracle、MySQL、SQL优化和PLSQL开发)、Web前端技术(如H5、CSS3、JavaScript、...

    javaWeb基础技术辅导

    7. **CoreJava辅导资料.zip**:这可能包含Java语言的基础教程或参考资料,包括类、对象、接口、异常处理、集合框架等内容,这些都是JavaWeb开发的基础。 8. **javaWeb基础技术辅导.zip**:这个文件很可能包含了详细...

    javaee请假管理系统文档.docx

    - CPU: Intel Core i5 2.0 GHz - 内存: 2 GB - 硬盘: 250 GB #### 七、测试结果与分析 **测试项目:** 请假管理系统 **测试人员:** 麦城进 **测试结果:** - **系统操作登陆测试:** 用户登录成功后,能够正确跳转...

    数据库代码

    "CoreJava.rar"可能是一个包含Java核心编程资源的压缩文件,Java是一种广泛用于开发数据库应用程序的编程语言。在数据库应用中,Java可以用来编写DAO(数据访问对象)层,实现对数据库的操作,如CRUD(创建、读取、...

    学生请假管理系统_学生请假管理系统_源码.zip

    2. **后端开发**:后端通常基于Java、Python或.NET等语言,利用Spring Boot、Django或ASP.NET Core等框架进行开发。 3. **数据库管理**:MySQL、Oracle或SQL Server等关系型数据库用于存储学生、教师信息以及请假...

Global site tag (gtag.js) - Google Analytics