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

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

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

    風人園

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

    J2SE 5.0的三種內(nèi)置注釋類型

    J2SE 5.0的三種內(nèi)置注釋類型

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

    1. @Override

    @Override用在多態(tài)情況下,比如:

    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方法簽名改名的話,比如增加了一些參數(shù),那么子類的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并沒有強大多少,因為它不支持參數(shù),而@deprecated后面還可以跟字符串來給一些相關的信息,但@Deprecated做不到,但它提供了運行時自省的功能,來提示錯誤,所以建議@Deprecated和@deprecated同時使用。


    ?3. @SuppressWarnings

    顧名思義,就是抑制警告信息的出現(xiàn),使用如下:
    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"})只支持一個參數(shù),是數(shù)組類型,所以你可以不用加value, 寫成:@SuppressWarnings({"deprecation"});當想抑制多個類型的警告信息時,可寫:@SuppressWarnings({"unchecked","fallthrough",deprecation"}).

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

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

    主站蜘蛛池模板: 亚洲精品无码成人片久久不卡| 亚洲性猛交XXXX| 亚洲香蕉久久一区二区 | 337p日本欧洲亚洲大胆裸体艺术| 最近2019年免费中文字幕高清| 狠狠亚洲狠狠欧洲2019| 国产精品小视频免费无限app| 一级毛片直播亚洲| 亚洲va无码va在线va天堂| 爽爽爽爽爽爽爽成人免费观看| 97在线观看永久免费视频| 四虎亚洲国产成人久久精品| www亚洲精品久久久乳| 91大神免费观看| 亚洲精品美女久久久久9999| 在线视频精品免费| 午夜在线a亚洲v天堂网2019| a级毛片免费观看视频| 亚洲Av综合色区无码专区桃色| 免费视频成人手机在线观看网址| 四虎在线免费播放| 最新亚洲人成无码网站| 国产亚洲精品成人a v小说| 中文成人久久久久影院免费观看| 亚洲AV日韩AV天堂久久| 四虎永久在线精品免费观看视频| 最新国产精品亚洲| 亚洲免费一区二区| 久久国产精品萌白酱免费| 亚洲男人电影天堂| 国产精品美女自在线观看免费 | 福利免费在线观看| 免费亚洲视频在线观看| 国产精品免费久久| 亚洲精品国产第1页| 日韩精品无码人妻免费视频| 亚洲jjzzjjzz在线观看| 57pao一国产成永久免费| 亚洲AV无码专区亚洲AV伊甸园| 69免费视频大片| 色一情一乱一伦一视频免费看|