欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

java語(yǔ)言

Java基礎(chǔ)加強(qiáng)注解總結(jié)

時(shí)間:2025-03-25 06:10:29 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

Java基礎(chǔ)加強(qiáng)注解總結(jié)

  Java基礎(chǔ)加強(qiáng)注解總結(jié)

  一、理解注解

Java基礎(chǔ)加強(qiáng)注解總結(jié)

  Annotation( 注解 ) 是 JDK5.0 及以后版本引入的一個(gè)特性 。

  注解是(@interface) Java 的一個(gè)新的類型(與接口很相似 ) ,它與類(Class)、接口(interface)、枚舉(enum)是在同一個(gè)層次。

  我們可以定義注解、聲明注解、獲得注解,并且根據(jù)獲得的注解做相應(yīng)的處理,許多框架都大量應(yīng)用了注解,以后繼續(xù)學(xué)習(xí)。

  二、對(duì)于java.lang.Annotation的理解

  所有定義的注解類型到會(huì)繼承該Annotation接口,定義注解需要使用@interface。

  以下為定義了一個(gè)注解AnnotationTest:

  package com.hdjava.annotation;

  public @interface AnnotationTest {

  String param = “hello”

  String[] value () ;

  a. 注解可以定義final 靜態(tài)屬性,即使不寫明關(guān)鍵字系統(tǒng)也會(huì)默認(rèn)為final靜態(tài)屬性。

  當(dāng)注解中的屬性名為value時(shí),在對(duì)其賦值時(shí)可以不指定屬性的名稱而直接寫上屬性即可;除了

  value意外的其他值都需要使用name=value這種復(fù)制方式,即明確指定給誰(shuí)賦值 例如:@AnnotationTest(value=”hello”)或者@AnnotationTest(”hello”)

  b. 注解可以定義公共抽象的方法

  1. 方法前默認(rèn)會(huì)加上 public abstract

  2. 在聲明方法時(shí)可以定義方法的`默認(rèn)返回值。

  例如 : String value() default “hello” ;

  3.方法返回值可以是 8 種基本類型, String 、 Class 、枚舉、注解及這些類型的數(shù)組。 c.注解定義說(shuō)明

  1.當(dāng)我們使用@interface關(guān)鍵字定義一個(gè)注解時(shí),該注解隱含地繼承了

  java.lang.annotation.Annotation接口;

  2.如果我們定義了一個(gè)接口,并且讓該接口繼承自Annotation,那么我們所定義的依然是接口而不是注解;

  3.Annotation本身是接口而不是注解?梢耘cEnum類比。

  三、三個(gè)Java基本注解

  3.1、@Override

  該注解用在方法前面,用來(lái)標(biāo)識(shí)該方法是重寫父類的某個(gè)方法。

  package com.hdjava.annotation;

  public class OverrideTest {

  @Override

  public String toString() {

  return "this is OverrideTest toString";

  3.2、@Deprecated

  該注解的作用是標(biāo)記某個(gè)過(guò)時(shí)的類或方法。

  package com.hdjava.annotation;

  public class DeprecatedTest {

  @Deprecated

  public static void doSomething(){

  System.out.println("do nothing");

  public static void main(String[] args) {

  doSomething();

  3.3、@SuppressWarnings

  該注解的作用是阻止編譯器發(fā)出某些警告信息。

  它可以有以下參數(shù) :

  deprecation :過(guò)時(shí)的類或方法警告。例如:new Date().toLocal

  unchecked :執(zhí)行了未檢查的轉(zhuǎn)換時(shí)警告。例如 List list = new ArrayList

  fallthrough :當(dāng) Switch 程序塊直接通往下一種情況而沒(méi)有 Break 時(shí)的警告。 path :在類路徑、源文件路徑等中有不存在的路徑時(shí)的警告。

  serial :當(dāng)在可序列化的類上缺少 serialVersionUID 定義時(shí)的警告。

  finally :任何 finally 子句不能完成時(shí)的警告。

  all :關(guān)于以上所有情況的警告。

  四、元注解

  元注解就是用來(lái)對(duì)注解類進(jìn)行注解的注解。

  4.1 @Retention

  它是被定義在一個(gè)注解類的前面,用來(lái)說(shuō)明該注解的生命周期。

  它有以下參數(shù):

  RetentionPolicy.SOURCE :指定注解只保留在一個(gè)源文件當(dāng)中。

  RetentionPolicy.CLASS :指定注解只保留在一個(gè) class 文件中。

  RetentionPolicy.RUNTIME :指定注解可以保留在程序運(yùn)行期間。

  4.2 RetentionPolicy

  枚舉類型:定義了Retention的類型

  public enum RetentionPolicy {

  SOURCE,

  CLASS,

  RUNTIME

  }

  4.3 @Target

  它是被定義在一個(gè)注解類的前面,用來(lái)說(shuō)明該注解可以被聲明在哪些元素前。 它有以下參數(shù):

  ElementType.TYPE :說(shuō)明該注解只能被聲明在一個(gè)類前。

  ElementType.FIELD :說(shuō)明該注解只能被聲明在一個(gè)類的字段前。

  ElementType.METHOD :說(shuō)明該注解只能被聲明在一個(gè)類的方法前。

  ElementType.PARAMETER :說(shuō)明該注解只能被聲明在一個(gè)方法參數(shù)前。

  ElementType.CONSTRUCTOR :說(shuō)明該注解只能聲明在一個(gè)類的構(gòu)造方法前 。 ElementType.LOCAL_VARIABLE :說(shuō)明該注解只能聲明在一個(gè)局部變量前。

  ElementType.ANNOTATION_TYPE :說(shuō)明該注解只能聲明在一個(gè)注解類型前 。 ElementType.PACKAGE :說(shuō)明該注解只能聲明在一個(gè)包名前。

  如果不加該注解表示可以聲明在任何位置

【Java基礎(chǔ)加強(qiáng)注解總結(jié)】相關(guān)文章:

java基礎(chǔ)總結(jié)09-08

JavaWeb基礎(chǔ)教程之Java基礎(chǔ)加強(qiáng)版參考05-14

Java基礎(chǔ)知識(shí)總結(jié)09-18

Java基礎(chǔ)語(yǔ)法09-10

Java語(yǔ)言的基礎(chǔ)07-29

java語(yǔ)言基礎(chǔ)08-29

java編程基礎(chǔ)07-26

java語(yǔ)法基礎(chǔ)06-27

java教程之Java編程基礎(chǔ)09-12