<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    本練習有三個目標:
    1.如何定義注釋類型
    2.如何使用注釋類型
    3.如何讓注釋影響程序運行

    一.如何定義注釋類型
    package org.test.spring.annotation;

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

    /**
     * <p>
     * 定義一個Person類專用的注釋
     * </p>
     * 元注釋Retention用于指定此注釋類型的注釋要保留多久, 元注釋Target用于指定此注釋類型的注釋適用的程序元素的種類,
     * 
     * 
    @author Huy Vanpon
     
    */
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.METHOD)
    public @interface Annot4Person
    {
        String name() 
    default "惠萬鵬";
        
        
    int age() default 25;
        
        String gender() 
    default "";
    }


    二.2.如何使用注釋類型
    package org.test.spring.annotation;

    /**
     * <p>
     * 本類用于定義人類,包含一個自我介紹的方法
     * </p>
     * 
     * 
    @author Huy Vanpon
     
    */
    public class Person
    {
        @Annot4Person(name 
    = "何潔", gender = "", age = 16)
        
    public void introductionMyself(String name, String gender, int age)
        {
            StringBuffer sb 
    = new StringBuffer();
            sb.append(
    "嗨,大家好,我叫");
            sb.append(name);
            sb.append(
    ",今年");
            sb.append(age);
            sb.append(
    "歲,是一個充滿陽光的");
            sb.append(gender);
            sb.append(
    "孩.");
            System.out.println(sb.toString());
        }
    }


    三.如何讓注釋影響程序運行
    package org.test.spring.annotation;

    import java.lang.reflect.Method;

    /**
     * <p>
     * 本用利JAVA的反射機制,讓注釋影響程序的運行
     * </p>
     * 
     * 
    @author Huy Vanpon
     
    */
    public class AnnotDisturber
    {
        
    public void testAnnot4Person()
        {
            Class
    <Person> clazz = Person.class;
            
    try
            {
                
    //通過方法名和入參確定方法
                Method method = clazz.getDeclaredMethod("introductionMyself",
                        String.
    class, String.classint.class);
                
    if (method == null)
                {
                    
    return;
                }
                
    //從方法取得注釋
                Annot4Person annotation = method.getAnnotation(Annot4Person.class);
                
    if (annotation == null)
                {
                    
    return;
                }
                
    //調用這個方法
                method.invoke(new Person(), annotation.name(), annotation.gender(),
                        annotation.age());
            }
            
    catch (Exception e)
            {
                e.printStackTrace();
            }
        }
        
        
    public static void main(String[] args)
        {
            AnnotDisturber tt 
    = new AnnotDisturber();
            tt.testAnnot4Person();
        }
    }


    posted on 2008-07-25 11:48 HUIKK 閱讀(1127) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲精品无码久久久久APP | 亚洲黄色高清视频| a级毛片无码免费真人久久| 亚洲国产精品成人久久蜜臀| 在线播放亚洲精品| 免费一级毛片清高播放| 色吊丝免费观看网站| 国产一区视频在线免费观看| 国产精品久久亚洲一区二区| 亚洲AV永久无码精品一区二区国产| 羞羞漫画在线成人漫画阅读免费| 免费在线观看中文字幕| 一区二区视频免费观看| 91麻豆国产自产在线观看亚洲| 国产精品午夜免费观看网站| 亚洲女同成av人片在线观看| 另类免费视频一区二区在线观看| 午夜影视日本亚洲欧洲精品一区 | 91香蕉视频免费| 亚洲熟女www一区二区三区| 国产真人无遮挡作爱免费视频| 亚洲成aⅴ人片久青草影院按摩| 国产免费黄色大片| 久久嫩草影院免费看夜色| 亚洲av网址在线观看| 99久久国产热无码精品免费| 亚洲欧美国产国产综合一区| 亚洲 另类 无码 在线| 花蝴蝶免费视频在线观看高清版| 久久综合亚洲鲁鲁五月天| 女人18毛片a级毛片免费视频| 国产成人亚洲毛片| 亚洲不卡av不卡一区二区| 亚洲高清中文字幕免费| 狠狠热精品免费观看| 亚洲AV日韩精品久久久久久久| 在线天堂免费观看.WWW| 一边摸一边爽一边叫床免费视频| 亚洲人成在线播放网站岛国| 日韩精品无码人妻免费视频 | 国产乱子精品免费视观看片|