一、注解功能
用處:類、構造方法、成員方法、方法、引數等宣告中 特性:不影響程式的正常執行,但是會對編譯器等輔助工具產生影響 定義:添加到Java程式代碼上,用來做一些說明和解釋
1.元資料
定義:用于描述資料的一種資料 可使用注解來描述元資料,
2.注解
又稱為標注,屬于程式的元資料,也是程式代碼的標記, 獲得時間:編譯、加載類和運行 使用反射可以對程式代碼進行分析 使用系統定義的注意,可以在編譯時對程式進行檢查 使用元注解,可以生成相應的檔案 用在的地點:包、類、欄位、方法、區域變數、方法引數的前面 使用方法:@注解
3.Java內置三種注解
(1)@Override
作用:用于修飾方法,也就是對父類中的方法進行重寫 是否重寫時必須加上:否 建議在重寫方法的時候加上這個注解,便于編譯器進行檢查是否重寫錯誤, 例子省略
(2)@Deprecated
作用:用于注解不再使用已經過時的類、方法、屬性 使用位置:類、方法、屬性前面
@Deprecated
/**
@deprecated這個類存在缺陷,使用新的NewDeprecatedTest類替代它
*/
public class DeprecatedTest{
//類體
}
(3)@SuppressWarnings
作用:用于一致編譯器生成警告資訊 使用位置:類、方法、方法引數、屬性和區域變數 常用方式:當一個方法呼叫了一個過時的方法或者進行不安全的型別轉換的時候,編譯器會生成警告,該注解可以一致警告
public class SuWarningsTest{
public static void main(String[] argsl){
@SuppressWarnings(values={"deprecation"})
//參考過時的類
DeprecatedTest dtest = new DeprecatedTest();
System.out.println(dtest);
}
}
4.我們對三種注解進行舉例
package com.bjpowernode.java_learning;
public class D143_1_SuperClass {
//對域var進行注解,表示var已經過時,雖然var已經過時,但是仍然可用
@Deprecated
int var = 125;
@Deprecated
public void MethodA() {
System.out.println("我是父類中中的MethodA()方法");
}
public void MethodB() {//定義一個方法用于子類重寫
System.out.println("我是父類中中的MethodB()方法");
}
}
package com.bjpowernode.java_learning;
public class D143_2_SubClass extends D143_1_SuperClass{
@Override
public void MethodB() {
System.out.println("子類重寫了父類的MethodB方法");
}
}
package com.bjpowernode.java_learning;
import java.util.LinkedList;
public class D143_3_Test {
public static void main(String[] args) {
D143_1_SuperClass superObj = new D143_1_SuperClass();
superObj.MethodA();
System.out.println(superObj.var);
D143_2_SubClass subObj = new D143_2_SubClass();
subObj.MethodB();
//下面的注釋用于抑制其下面的陳述句的編譯警告資訊
//如果去掉注解,則編譯時會出現警告資訊
@SuppressWarings("rawtypes")
LinkedList list = new LinkedList();
//下面兩條陳述句沒有加@SuppressWarnings,編譯時會出現警告資訊
list.add(123);
list.add("Beijing");
for(int i=0;i<2;i++) {
System.out.println(list.get(i));
}
}
}
二、原始碼:
D143_1_SuperClass.java D143_2_SubClass.java D143_3_Test.java https://github.com/ruigege66/Java/blob/master/D143_1_SuperClasshttps://github.com/ruigege66/Java/blob/master/D143_2_SubClass.javahttps://github.com/ruigege66/Java/blob/master/D143_3_Test.javahttps://github.com/ruigege66/Java/tree/master/ibank CSDN:https://blog.csdn.net/weixin_44630050 博客園:https://www.cnblogs.com/ruigege0000/ 歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流 
1000.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/167001.html
標籤:其他
上一篇:Java8 Stream流編程
