註解和反射是Java中非常讓人容易忽略的東西,但卻很重要,在主流的Spring中更是充滿了註解,註解和註解很像,兩者其實本質就差不多,註解是給我們程式設計師看的,而註解呢其實就是給程式看的。
(推薦教學:java學習網站)
上面所說希望你著重註意以下兩點:
1、註解和註解很像
2、註釋是給我們程式設計師看的,而註解是給程式看的
我們初步理解註解就從上面兩點開始,我們先看註釋,例如這樣:
這就是一個註釋,那麼註釋有什麼用呢?
簡單來說就是對相關的類別或方法加以說明,例如這裡的Test類,上面的註釋大致告訴我們這類是誰編寫的,做什麼的以及何時編寫的這些信息,當然,資訊其實還可以有更多。
所以你要明白,註解是幹嘛的,是給我們這些程式設計師看的,看到註解我們就明白了,哦,這個類別原來是這樣的…
#註解是給程式設計師看的,那麼註解呢?相差一個字,註解是給程式看的,先記住即可。
進一步理解註解
首先,直覺感覺下什麼是註解,例如我們在程式碼中寫的這個:
/** * @Description 用户类 * @Author ithuangqing * @Date 2020-07-31 15:33 **/ @Repository public class UserBean { private String name; private int age; }
這裡的@Repository就是一個註解,看這段程式碼,上面還有註釋,我們看到註釋,發現都看得明白,但是看到@Repository之後,就不那麼明白,這是啥,有啥用?
於是我們查,大概知道,哦,這是個註解,有了這個註解,UserBean就會被裝載進Spring容器中,我們可以知道這些信息,但是,它實際上做了哪些事情,是如何起作用,也就是如何把UserBean交給Spring去處理的,這個內部實現,我們不清楚。
但是,我們雖然不清楚,有個東西它清楚,什麼呢?就是一個特定的程序,也就是說,有一個專門的程序,當它看到這個UserBean上面有一個@Repository之後,這個程序就知道了,原來要把這個UserBean裝載進Spring容器中,於是這個程序就開始執行一系列的操作區把這個UserBean裝載進Spring容器中。
(影片教學推薦:java學習)
我們再進一步總結下什麼是註解:
在程式中,可以把註解看成一種特殊的標記,一般是用來標記類,方法或者接口等,這些標記有一些特點,比如可以在編譯的時候,(javac命令把java源文件編譯成字節碼文件class ),類別載入和運作的時候(使用java指令執行字節碼檔案的時候,類別的生命週期開始,從載入到卸載)被讀取到(一般是有專門的程式去讀區這些註解,利用反射技術去解析註解,然後根據得到的資訊做相應的處理)
是的,關於註解,你要知道這麼一個知識點了:
對於註解,是有專門的程序去讀取它,解析它,然後根據得到的訊息去執行對應的操作。
關於這個程序,要看具體的場景,也就是說這個程序是不同的,那麼關於這個程序怎麼知道讀到哪個註解該幹嘛,這個還是依靠註解本身的定義,比如@Repository註解被定義成是把被註解的裝載進Spring容器中,那麼特有的程式取得到這個註解就知道該做什麼了。
以上是什麼是java註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版