java中怎么給變量賦值 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。舉個簡單的例子這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。當(dāng)然,這個自
Java中的注解到底是如何工作的?
注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。
舉個簡單的例子
這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。
當(dāng)然,這個自定義注釋還取決于一些特定的注釋,我們稱之為元注釋。一共有五種:
@保留:生存周期保留策略.SOURCE
保持在源階段保留策略.CLASS
Compile
retention policy,runtime
@documented將注釋中的元素包含到Javadoc中
@target注釋可用于類、方法、屬性、,etc.]@inherited
@repeatable repeatable
輸出結(jié)果:
年份:2012月份:1天:13:00:17:28:19當(dāng)前時(shí)間毫秒:1326446899902fri Jan 13 17:28:19 CST 2012fri Jan 13 17:28:19 CST 2012格式化日期:2012-01-13 17:28:19字符串轉(zhuǎn)換日期:fri Jan 13 17:26:33 CST 2012
聲明時(shí),不同類型(基本類型和內(nèi)置類)都有默認(rèn)值,無論是否賦值。例如,int為0,object為null。
因此,如果沒有特殊的初始賦值,則不需要初始化構(gòu)造函數(shù)中的屬性/換句話說,如果在創(chuàng)建對象期間沒有特殊的初始化要求,則不需要編寫默認(rèn)構(gòu)造函數(shù),并且JVM知道如何處理它。
所示的構(gòu)造函數(shù)有自己的用法。它為您提供了在創(chuàng)建對象時(shí)進(jìn)行自定義和初始化的機(jī)會。例如,如果您的類中有一個成員:
private list<member> members;
您想要統(tǒng)一getmembers()的行為,即無論是否有成員,您都將返回一個list對象,而不是null或list<member>,這將給調(diào)用者帶來麻煩。
然后在構(gòu)造函數(shù)中解決此問題,添加一行代碼,例如:這個。成員=New ArrayList<member>()]即使對象剛剛是新的,對其調(diào)用getmembers也不會返回null。