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

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

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

    風人園

    弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
    數據加載中……

    J2SE 5.0的三種內置注釋類型

    J2SE 5.0的三種內置注釋類型

    注解(annotation)是J2SE 5.0的新內容,它給我們提供了很好的編程支持,下面介紹一下其內置的三種注解類型:

    1. @Override

    @Override用在多態情況下,比如:

    public abstract class Animal{
       public void say(){
          System.out.println("annimal is saying");
       }
    }
    
    public class Cat extends Animal{
        @Override
        public void say(){
            System.out.println("miao, miao");
        }
    }
    

    通過@Override來告訴java編譯器,say方法是重載的父類的方法,這樣,當父類的say方法簽名改名的話,比如增加了一些參數,那么子類的Cat中的say方法編譯時就會報錯,說沒有正確的重載父類方法,所以,@Override可以幫我們驗證程序的正確性,這一點,很有用。

    2. @Deprecated

    @Deprecated的意思和JavaDoc中的@deprecated注釋在本質上是一樣的,使用如下:

    public class DeprecatedExample {?
    ???@Deprecated?
    ???public static void badMethod() { }
    }

    public class DeprecatedUser {?
    ???public static void main(String[] args){
    ??????DeprecatedExample.badMethod();?
    ???}
    }


    上面的代碼如果用javac進行編譯的話,會打印出如下信息:
    Note: DeprecatedUser.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    1 error
    如果你按提示重新加-Xlint進行編譯,你就可以得到錯誤的詳細信息:
    % javac -Xlint:deprecation
    DeprecatedUser.java:3: warning: [deprecation] badMethod() in DeprecatedExample
    has been deprecated
    DeprecatedExample.badMethod();

    需要注意的是:和javadoc中的@deprecated相比,@Deprecated并沒有強大多少,因為它不支持參數,而@deprecated后面還可以跟字符串來給一些相關的信息,但@Deprecated做不到,但它提供了運行時自省的功能,來提示錯誤,所以建議@Deprecated和@deprecated同時使用。


    ?3. @SuppressWarnings

    顧名思義,就是抑制警告信息的出現,使用如下:
    public class DeprecatedExample2{?
    ???@Deprecated?
    ???public static void foo() { }
    }

    public class DeprecatedUser2 {?
    ???@SuppressWarnings(value={"deprecation"})?
    ???public static void main(String[] args) {?
    ??????DeprecatedExample2.foo();?
    ???}
    }

    上述@SuppressWarnings(value={"deprecation"})的作用就是抑制編譯器報deprecation的錯。
    @SuppressWarnings(value={"deprecation"})只支持一個參數,是數組類型,所以你可以不用加value, 寫成:@SuppressWarnings({"deprecation"});當想抑制多個類型的警告信息時,可寫:@SuppressWarnings({"unchecked","fallthrough",deprecation"}).

    注意:在JDK1.5.0 release中,@SuppressWarnings還沒有得到完全支持,會在以后支持,但Sun并沒有給出具體的時間。

    posted on 2006-12-16 15:33 風人園 閱讀(321) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 亚洲国产综合久久天堂| 亚洲精品国产高清嫩草影院| 亚洲成人在线电影| 国产一级婬片A视频免费观看| 亚洲国产成人精品女人久久久 | 永久在线免费观看| 91亚洲精品第一综合不卡播放| 四虎国产成人永久精品免费| 久久亚洲AV成人出白浆无码国产 | h视频在线免费观看| 中文字幕亚洲无线码a| 久久久久国产免费| 亚洲欧洲日产v特级毛片| 欧洲黑大粗无码免费| 亚洲风情亚Aⅴ在线发布| 亚洲成人国产精品| 最近免费中文字幕中文高清| 亚洲精品天天影视综合网| 无码免费午夜福利片在线 | 国产亚洲人成A在线V网站| 免费网站观看WWW在线观看| 久久亚洲AV成人无码电影| 97无码免费人妻超级碰碰夜夜| 色欲aⅴ亚洲情无码AV| 亚洲宅男天堂在线观看无病毒| 8x网站免费入口在线观看| 在线亚洲午夜片AV大片| 亚洲精品老司机在线观看| 久久免费精品一区二区| 亚洲娇小性xxxx| 亚洲美日韩Av中文字幕无码久久久妻妇| 中国国语毛片免费观看视频| 亚洲无限乱码一二三四区| 全部免费a级毛片| 无码国产精品一区二区免费16| 亚洲一区二区三区丝袜| 亚洲精品亚洲人成人网| 免费看韩国黄a片在线观看| 一区二区三区免费电影| 亚洲宅男精品一区在线观看| 国产精品亚洲精品日韩已方 |