什么命令用來(lái)執(zhí)行java類文件 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?注釋用于描述Java類。您可以自定義注釋,然后通過(guò)反射獲取注釋以執(zhí)行指定的操作。舉個(gè)簡(jiǎn)單的例子這樣可以通過(guò)反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。當(dāng)然,這個(gè)自
Java中的注解到底是如何工作的?
注釋用于描述Java類。您可以自定義注釋,然后通過(guò)反射獲取注釋以執(zhí)行指定的操作。
舉個(gè)簡(jiǎn)單的例子
這樣可以通過(guò)反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。
當(dāng)然,這個(gè)自定義注釋還取決于一些特定的注釋,我們稱之為元注釋。一共有五種:
@保留:生存周期保留策略.SOURCE
保持在源階段保留策略.CLASS
Compile
retention policy,runtime
@documented將注釋中的元素包含到Javadoc中
@target注釋可用于類、方法、屬性、,etc.]@inherited
@repeatable repeatable
在java中類的初始化和對(duì)象的實(shí)例化有哪些區(qū)別,是先執(zhí)行哪一步?
Java規(guī)范規(guī)定,必須正確初始化對(duì)象才能使用,因此必須先初始化類,然后實(shí)例化對(duì)象。如果有差異,則是初始化后的實(shí)例化。
當(dāng)Java虛擬機(jī)開(kāi)始工作時(shí),它將首先加載所需的類,類加載器負(fù)責(zé)加載過(guò)程。加載過(guò)程分為五個(gè)階段:加載、驗(yàn)證、準(zhǔn)備、解析和初始化
初始化類后,我們可以得到對(duì)象的實(shí)例,例如,執(zhí)行到new當(dāng)Person()步驟時(shí),默認(rèn)的初始值首先分配給成員變量,然后根據(jù)成員變量和非靜態(tài)塊的出現(xiàn)順序進(jìn)行初始化。初始化所有成員變量并執(zhí)行非靜態(tài)塊后,調(diào)用構(gòu)造方法來(lái)完成對(duì)象的創(chuàng)建,即對(duì)象的實(shí)例化。
我希望我的回答能對(duì)你有所幫助