第11章 註解

2021-08-16 04:45:12 字數 2363 閱讀 3872

annotation其實就是**裡的特殊標記,可以在編譯,類載入,執行的時候被讀取,並執行相應的處理。在不改變原有邏輯的情況下,在原始檔嵌入一些補充資訊。一條重要原則:僅僅使用註解來標識程式元素,對程式不會造成任何影響,要讓註解起作用,必須為這些註解提供註解處理工具。

-@override只能修飾方法,強制子類必須覆蓋父類的方法

-@deprecated表示某個程式元素(類、方法、介面等)已經過時,若其他程式使用該元素,將會給出警告

-@suppresswarnings被修飾的程式元素取消顯示指定的警告,會同時作用於該程式元素下的所有的子元素

1、定義annotation

定義新的annotation,使用@inte***ce關鍵字,與定義乙個介面非常相似。所有的註解都繼承了annotation介面。

public @inte***ce testable
使用annotation的語法,非常類似於public,final等修飾符(一般單獨放一行),通常用於修飾程式中的類 、介面、變數、方法等

public

class myclass 

}

annotation中還可以帶成員變數,用無引數的方法來宣告。方法名定義了成員變數的名字,返回值定義了成員變數的型別。語法與定義介面的語法非常相似。若沒有定義預設值,則必須賦值。

public @inte***ce testable 

//使用

public

class myclass 

}

標記annotation:沒有成員變數,僅使用自身的存在與否,來為我們提供資訊。  

元資料annotation:包含成員變數的annotation,因為他們可以接受更多的元資料。

2、提取annotation資訊

annotatedelement介面中的三個方法

- t getannotation(classaclass)

//返回該類程式元素上,指定型別的註解,若該型別的註解不存在,返回null

- annotation

getannotations()

//返回程式元素存在的所有註解

- boolean isannotationpresent(class<? extends annotation> aclass)

//判定該程式元素上是否包含指定型別的註解

annotatedelement介面的實現類:  

class   

contrustor  

field  

method  

package

2.1、例子一

僅僅是乙個標記annotation,沒有成員變數

public @inte***ce testable 

public

class myclass 

public

void

m2() 

}public

class testprocessor catch (exception e)}}

}}

其實註解很簡單,就是為原始碼新增一些特殊的標記,這些標記可以通過反射獲取,獲取到之後做出相應的處理。

2.2、例子二

public @inte***ce clicklistenerfor
public

class clicklistenerprocessor 

}} catch (exception ex) 

}}

public

class

mainactivity

extends

activity 

class

okclicklistener

implements

view.onclicklistener 

}class

cancelclicklistener

implements

view.onclicklistener 

}}

@retention

@test

@documented

@inherited

第11章 執行緒

執行緒標識 就像每個程序有乙個程序id一樣,每個執行緒也有乙個執行緒id。程序id在整個系統中是唯一的,但執行緒id不同,執行緒id只有在它所屬的程序上下文中才有意義。程序id 用pid t資料型別表示 執行緒id用pthread t資料型別來表示 includeint pthread equal ...

第11章 執行緒

1.執行緒的作用 1 對於程式設計而言 當我們的乙個程序在某一時刻,需要做的事件不止一件的時候,一般有兩種方法。一種是採用非同步程式設計的模式,一種是採用多執行緒同步模式。但是多執行緒同步模式遠遠比非同步模式要方便的多。但是對於單核系統,往往非同步程式設計模式效率更高。2 對於互動程式,一般都是要多...

第11章 函式

1 把相關的語句組合在一起,並且賦予相應的名稱,用這種方法來給程式分塊,這種形式的組合就是函式,函式也叫例程或者過程。程式總是從 main 函式開始啟動。函式由函式名 引數 返回值型別以及一組包含操作語句的語句塊組成。函式可以支援過載,程式就是由函式組成。2 形參是函式定義時在形參表中定義的,並且由...