RAID 概念- RAID-0-1-5-10 的工作原理
阿新 • • 發佈:2021-07-13
Annotation的作用:
可以被其他程式(比如編譯器)讀取
package com.ren.annotation; public class Test01 { //@Override 重寫的註解 @Override public String toString() { return super.toString(); } }
"@註釋名"
Annotation可以附加在package,class,method,field等上面,相當於給他們添加了額外的輔助資訊,我們可以通過反射機制程式設計實現對這些元資料的訪問。
註解還有檢查和約束的功能。
一:內建註解
1.@Override
2.@Deprecated
3.@SuppressWarnings(可以放入引數的註解)
實現:
package com.ren.annotation; import java.util.ArrayList; import java.util.List; @SuppressWarnings("all")//鎮壓 public class Test01 { //@Override 重寫的註解 @Override public String toString() { return super.toString(); } //@Deprecated 不推薦程式設計師使用,但是可以使用,或者存在更好的方式@Deprecated public static void test(){ System.out.println("Deprecated"); } //@SuppressWarning 鎮壓警告 @SuppressWarnings("all") public void test02(){ List list = new ArrayList(); } public static void main(String[] args) { test(); } }
二:元註解 meta-annotation
作用:負責註解其他註解
1.@Target*
2.@Retention*
3.@Documented
4.@Inherited
實現:
package com.ren.annotation; import java.lang.annotation.*; @MyAnnotation public class Test02 { @MyAnnotation public void test(){ } } //定義一個註解 //Target 表示我們的註解可以用在哪些地方 @Target(value = {ElementType.METHOD,ElementType.TYPE}) //Retention 表示我們的註解在什麼地方還有效 // runtime>class>sources @Retention(value = RetentionPolicy.RUNTIME) //Documented 表示是否將我們的註解生成在JAVAdoc中 @Documented //Inherited 子類可以繼承父類的註解 @Inherited @interface MyAnnotation{ }
三:自定義註解
@interface
實現:
package com.ren.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public class Test03 { //註解可以顯示賦值,如果沒有預設值,我們就必須給註解賦值 @MyAnnotation2(age = 18,name = "ren",schools = {"鄭州輕工業大學","鄭州大學"}) public void test(){ } @MyAnnotation3("任子碩") public void test2(){ } } @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation2{ //註解的引數:引數型別 + 引數名 (); String name() default ""; int age(); int id() default -1;//如果預設值為-1,代表不存在.indexof,如果找不到就返回-1 String[] schools() default {"ren","jia"}; } @interface MyAnnotation3{ String value();//只有一個值 可以不加比如 name = }