java注解简单实例
生活随笔
收集整理的這篇文章主要介紹了
java注解简单实例
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、創(chuàng)建一個(gè)注解
package com.anno;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME) // 表示注解在運(yùn)行時(shí)依然存在 @Target(ElementType.METHOD) // 表示注解可以使用在方法上 public @interface CallAnnotation {String phone() default "某某";; // 表示注解須要一個(gè)參數(shù),默認(rèn)值為"某某" }?
2、創(chuàng)建一個(gè)person類,使用注解
package com.anno;public class Person {public void call( String phone) {System.out.println("call=>"+phone);}@CallAnnotationpublic void callByAnnotationDefault(String phone){System.out.println("callByAnnotationDefault=>"+phone);}@CallAnnotation(phone = "張三")public void callByUserAnnotation(String phone){System.out.println("callUserAnnotation=>"+phone);}}?
3、測(cè)試注解
package com.anno;import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class TestAnno {public static void main(String[] args)throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {Person person = new Person(); //創(chuàng)建person對(duì)象Method[] methods = Person.class.getDeclaredMethods(); //得到所有方法for (Method meth : methods) {CallAnnotation annoTemp = null;annoTemp = meth.getAnnotation(CallAnnotation.class); //得到注解對(duì)象System.out.println("調(diào)用方法名稱:" + meth.getName());System.out.println("注釋的對(duì)象信息:" + annoTemp);if (annoTemp != null) { //如果注解對(duì)象不為空,將參數(shù)值設(shè)為注解的值 meth.invoke(person, annoTemp.phone());} else {meth.invoke(person, "李四"); //如果注解對(duì)象為空,單獨(dú)設(shè)置參數(shù)值 }System.out.println();}}}?
轉(zhuǎn)載于:https://www.cnblogs.com/2015android/p/4717348.html
總結(jié)
以上是生活随笔為你收集整理的java注解简单实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java设计模式 -- 简单工厂模式(S
- 下一篇: Oracle 12C -- trunca