JavaSE-註解與反射
阿新 • • 發佈:2021-11-21
1、內建註解
@Override 重寫
@Deprecated 過期,不建議使用
@SuppressWarnings 抑制警告
2、元註解
元註解是註解其他註解的註解
@Target(value=' ...') 表示在什麼範圍內有用
@Retention 表示註解需要在什麼級別儲存該註釋資訊 SOURCE<CLASS<RUNTIME
@Document 表示該註解將被包含在javadoc中
@Inherited 表示子類可以繼承父類中的註解
3、自定義註解
(public)@interface 註解名{定義內容}
4、靜態語言vs動態語言
動態語言:是一類在執行時可以改變其結構的語言,如python,C#、js、PHP
靜態語言是執行時結構不可變的語言,如Java,c,c++
Java又可以稱之為準動態語言,因為Java中的反射機制可以使其成為動態語言
5、Class
一個類只有一個Class物件
(1)建立類的Class的方式
1 public class Test{ 2 //測試Class類的建立方式有哪些 3 public static void main(String[] args) { 4 //方式1:通過物件.getClass()獲得 5 Person person1 = newPerson(); 6 Class> c1 = person1.getClass(); 7 8 //方式2:通過Class.forName("包名") 9 Class c2 = Class.forName("com.kuang.Student"); 10 11 //3、通過類名。class獲得 12 Class c3 = Person.class; 13 14 //c1.hashCode(), c2.hashCode(), c3.hashCode()一樣,表示只有一個Class15 16 } 17 }
(2)哪些型別可以有class物件
class類/infterface/陣列[]/...
注意:只要型別一樣,就是一個Class,hashcode都是一樣的