最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java注解的簡單入門小案例

 更新時間:2023年04月07日 08:36:57   作者:CrazyDragon_King  
這篇文章主要介紹了Java注解的簡單入門小案例,注解是干什么的?怎么使用?注解的簡單用法,需要的朋友可以參考下

快速了解注解

我發(fā)現(xiàn)現(xiàn)在很多資料講的都太過于詳細了,但是我們可能僅僅只是想要了解以下,注解的簡單用法,并不需要了解那么多,而且雖然資料很多,可是對于像我這樣的對Java了解并不多的人,看完哪些長篇大論,其實啥也沒記住。這樣我覺得效果,就不是很好,大部分人可能只是遇到了,想要知道它是干什么的?怎么使用?哪里管那么多,但是如果對于知識感興趣還是要努力學(xué)習(xí),看那些詳細的資料就是最好的了。

Talk is cheap, show me the code.

定義注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyLoveForYou {
	String love();
}

定義類

public class Love {
	@MyLoveForYou(love="吾愛亦吾心")
	private String love;
	public String getLove() {
		return love;
	}
	public void setLove(String love) {
		this.love = love;
	}
	//重寫 toString() 方法。
	@Override
	public String toString() {
		return "Love [love=" + love + "]";
	}
}

處理注解類

import java.lang.reflect.Field;

public class ProcessAnnotation {
	private static Love love;
	
	//創(chuàng)建 love 實例
	public static Love getLove(){
		Class<?> clazz = Love.class;
		try {
			Field field = clazz.getDeclaredField("love");
			field.setAccessible(true);
			MyLoveForYou  myLoveForYou = field.getAnnotation(MyLoveForYou.class);
			String fieldLove = myLoveForYou.love();
			try {
				love = (Love)clazz.newInstance();
			} catch (InstantiationException | IllegalAccessException e) {
				e.printStackTrace();
			}
			love.setLove(fieldLove);
		} catch (NoSuchFieldException | SecurityException e) {
			e.printStackTrace();
		}
		return love;
	}
}

測試

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class Test {
	public static void main(String[] args) throws 
	ClassNotFoundException, NoSuchMethodException, 
	SecurityException, InstantiationException, 
	IllegalAccessException, IllegalArgumentException, InvocationTargetException {
	//異常有點多,但是不用擔(dān)心,其實只有三行代碼。
		Love love = ProcessAnnotation.getLove();
		System.out.println(love.getLove());
		System.out.println(love.toString());
	}
}

測試結(jié)果

測試結(jié)果

簡單說明以下

這里就使用了一個非常簡單的注解類,使用了兩個最基礎(chǔ)的元注解(元注解的意思就是: 修飾的是類的屬性 保留到運行期)。
然后就可以使用注解了,簡單的使用其實很簡單,就像下面這樣就像了。

@MyLoveForYou(love="吾愛亦吾心")

這里強調(diào)以下,單純的使用注解是沒有任何用的,注解需要借助專門的工具處理,這里定義一個簡單的處理注解的類(這個類可能需要一點反射的知識,但是也不要緊,如果你只想知道注解的作用,也可以不用管它,記住用法就行了):ProcessAnnotation
用法:這個類就是干一件事,給 love 賦值為 吾愛亦吾心
最后就是測試了,這里重寫了toString() 方法,看起來更加直觀一點。

最后
我覺得這里應(yīng)該講的很簡單的,畢竟我了解的也不多,我也是才看了一點關(guān)于注解的知識,但是我覺得這里舉的這個簡單的小例子應(yīng)該足夠理解什么是注解了。真正的注解還是很復(fù)雜的,但是又不用我們來寫,只要使用就行了,所以這應(yīng)該就夠了,但是對于想要深入學(xué)習(xí)的人,這是遠遠不夠的。加油!

到此這篇關(guān)于Java注解的簡單入門小案例的文章就介紹到這了,更多相關(guān)Java注解簡單入門內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全面解析java中的hashtable

    全面解析java中的hashtable

    以下是對java中的hashtable進行了詳細的分析介紹。需要的朋友可以過來參考下
    2013-08-08
  • 關(guān)于Mybatis-Plus?Wrapper是否應(yīng)該出現(xiàn)在Servcie類中

    關(guān)于Mybatis-Plus?Wrapper是否應(yīng)該出現(xiàn)在Servcie類中

    最近在做代碼重構(gòu),代碼工程采用了Controller/Service/Dao分層架構(gòu),Dao層使用了Mybatis-Plus框架,本文帶領(lǐng)大家學(xué)習(xí)Mybatis-Plus?Wrapper應(yīng)該出現(xiàn)在Servcie類中嗎,需要的朋友可以參考下
    2023-05-05
  • SpringBoot 使用 OpenAPI3 規(guī)范整合 knife4j的詳細過程

    SpringBoot 使用 OpenAPI3 規(guī)范整合 knife4j的詳細過程

    Swagger工具集使用OpenAPI規(guī)范,可以生成、展示和測試基于OpenAPI規(guī)范的API文檔,并提供了生成客戶端代碼的功能,本文給大家介紹SpringBoot使用OpenAPI3規(guī)范整合knife4j的詳細過程,感興趣的朋友跟隨小編一起看看吧
    2023-12-12
  • Java多線程實現(xiàn)模擬12306火車站售票系統(tǒng)

    Java多線程實現(xiàn)模擬12306火車站售票系統(tǒng)

    12360火車票售票系統(tǒng)基本上大家都用過,那你知道是怎么實現(xiàn)的嗎,今天我們就模擬12306火車站售票系統(tǒng)來實現(xiàn),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java多線程產(chǎn)生死鎖的必要條件

    Java多線程產(chǎn)生死鎖的必要條件

    今天小編就為大家分享一篇關(guān)于Java多線程產(chǎn)生死鎖的必要條件,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • springboot開發(fā)flowable定時任務(wù)問題

    springboot開發(fā)flowable定時任務(wù)問題

    這篇文章主要介紹了springboot開發(fā)flowable定時任務(wù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • SpringBoot如何整合Springsecurity實現(xiàn)數(shù)據(jù)庫登錄及權(quán)限控制

    SpringBoot如何整合Springsecurity實現(xiàn)數(shù)據(jù)庫登錄及權(quán)限控制

    這篇文章主要給大家介紹了關(guān)于SpringBoot如何整合Springsecurity實現(xiàn)數(shù)據(jù)庫登錄及權(quán)限控制的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-01-01
  • javaNIO中關(guān)于ByteBuffer的用法

    javaNIO中關(guān)于ByteBuffer的用法

    這篇文章主要介紹了javaNIO中關(guān)于ByteBuffer的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoo項目打war包的多種方式

    SpringBoo項目打war包的多種方式

    在idea中,經(jīng)常會對web項目進行打jar包或者war包,jar包在Java環(huán)境中運行,war包在Tomcat服務(wù)器中跑,對于打war包有多種方式,一下介紹3鐘方式,需要的朋友可以參考下
    2024-06-06
  • springcloud部署提示 找不到url的解決

    springcloud部署提示 找不到url的解決

    這篇文章主要介紹了springcloud部署提示 找不到url的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01

最新評論

江川县| 江都市| 友谊县| 四平市| 江北区| 咸宁市| 出国| 大安市| 丁青县| 页游| 神木县| 土默特右旗| 阿拉善左旗| 玉龙| 金坛市| 闸北区| 扎兰屯市| 东港市| 博野县| 基隆市| 玉树县| 郯城县| 丽水市| 兰州市| 随州市| 临夏县| 章丘市| 城固县| 深圳市| 尼勒克县| 马鞍山市| 鄂伦春自治旗| 灵石县| 龙游县| 巧家县| 南宫市| 兰溪市| 乐亭县| 南开区| 泸州市| 莱芜市|