一、注解的定義和概述
1、注解:
- 注解是 JDK 1.5 的特性
- 注解是給編譯器或 JVM 看的,編譯器或 JVM 可以根據(jù)注解來(lái)完成相應(yīng)的功能。
-
或者叫注釋類型,英文是:Annotation
-
注解Annotation是一種引用數(shù)據(jù)類型。編譯之后也是生成xxx.class文件。
-
注解的語(yǔ)法格式:
-
【修飾符列表】 @interface 注解類型名{ }
-
public @interface MyAnnotation { ? ? }
-
2、注解怎么使用,用在什么地方?
-
注解使用時(shí)的語(yǔ)法格式是:@注解類型名
-
注解可以出現(xiàn)在類上,屬性上,方法上,變量上等,還可以出現(xiàn)在注解類型上。
-
默認(rèn)情況下,注解可以出現(xiàn)在任意位置。
-
@MyAnnotation
public class test03 {
@MyAnnotation
public static void main(@MyAnnotation String args[]) throws Exception {
@MyAnnotation
int i = 10;
}
}
3、注解的使用
/**
* 注解的使用
*/
@MyAnnotation(name = "zhangsan", age = 18, id = 1001, schools = {"清華大學(xué)","北京大學(xué)"})
public class Demo01 {
public static void main(String[] args) {
@MyAnnotation
String name;
}
@MyAnnotation
public void test(){
System.out.println("test");
}
}
// 定義注解
@interface MyAnnotation{
// 注解的參數(shù):參數(shù)類型 + 參數(shù)名();
String name() default "zhangsan";
int age() default 18;
int id() default -1; // 如果默認(rèn)值為-1,代表不存在
String[] schools() default {"清華大學(xué)","北京大學(xué)"};
}
3、JDK內(nèi)置的注解有:
-
java.lang包下
-
Annotation Type 描述 Deprecated 注釋 @Deprecated
的程序元素是程序員不鼓勵(lì)使用的程序元素。 (需要掌握)FunctionalInterface 一種信息性注釋類型,用于指示接口類型聲明旨在成為Java語(yǔ)言規(guī)范定義的 功能接口 。 Override 指示方法聲明旨在覆蓋超類型中的方法聲明。 (需要掌握) SafeVarargs 程序員斷言,帶注釋的方法或構(gòu)造函數(shù)的主體不會(huì)對(duì)其varargs參數(shù)執(zhí)行可能不安全的操作。 SuppressWarnings 指示應(yīng)在帶注釋的元素(以及帶注釋的元素中包含的所有程序元素中)中抑制指定的編譯器警告。
@Override注解的概述
標(biāo)識(shí)性注解,是給編譯器參考的
Override源代碼:
-
public @interface Override { }文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-437348.html
/*關(guān)于JDK lang包下的Override注解
* Override源代碼:
* public @interface Override { }
* @Override:這個(gè)注解只能注解方法。不能注解類,或者其它的類型。
* @Override:這個(gè)注解是給編譯器參考的,和運(yùn)行階段沒(méi)有關(guān)系。
* 凡是java中的方法帶有這個(gè)注解的,編譯器都會(huì)進(jìn)行編譯檢查,如果這個(gè)方法不是重寫父類的方法,編譯器報(bào)錯(cuò)。*/
public class test03 {
/*重點(diǎn):必須掌握,通過(guò)反射機(jī)制怎么獲取父類和父接口?*/
public static void main(String args[]) throws Exception {
?
}
?
@Override
public String toString() {
return "super.toString()";
}
}
如果你覺(jué)得博主的文章的不錯(cuò)或者對(duì)你有幫助,可以點(diǎn)一個(gè)免費(fèi)的關(guān)注支持一下博主,你的鼓勵(lì)將是我創(chuàng)作的最大動(dòng)力??!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437348.html
到了這里,關(guān)于Java注解——@Override注解(詳解1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!