<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                在平時的編程中注釋一直與我們為伴,但是在Java編程中我們會經常性的使用注解。一字之差,也不知是否會有“失之毫厘差以千里”之說?? ![](https://box.kancloud.cn/2016-03-10_56e132d8011c2.jpg) 一起來看: ### 一、注解: ??首先來看在ITOO Java中使用的注解: ~~~ @Stateless(name = "SystemStudentIdModuleValueBean") @Remote(SystemStudentIdModuleValueBean.class) @TransactionManagement(TransactionManagementType.CONTAINER) @TransactionAttribute(TransactionAttributeType.REQUIRED) public class SystemStudentIdModuleValueBeanImpl extends BaseBeanImpl implements SystemStudentIdModuleValueBean { } ~~~ 從本質上說,注解就是一種類型!它可以定義、使用,以及包含有自己的屬性、方法。 先來對注解這個東西進行一下宏觀的了解: 1).注解這個東西主要是給編譯器看的,比如最常見的@override表示這個方法重寫了父類中的方法; 2).大家共同認可的,就**可以使用一個公式來代替,以節省代碼**:這就是注解 3).注解為我們在代碼中添加信息提供了一種形式化的方法,使我們可以在之后的某個時刻**方便的使用這些數據**(通過解析注解來使用這些數據),常見的作用有如下幾種: ○ 生成文檔:這是最常見的,也是Java最早提供的注解,常用的有@see,@param,@return等 ○ 跟蹤代碼依賴性,實現替代配置文件的功能。現在的框架基本上都使用了這種配置里減少配置文件的數量。 ○ 在編譯時進行格式檢查。如@override放在方法錢前,如果這個方法并不是覆蓋的超類的方法,則會在編譯時被檢查出來。 ? 其次,當我們定義了注解,難道直接使用??肯定不是的唄!! ? ? 在使用反射之前必須使用import java.lang.reflect.* 來導入和反射相關的類。 α要得到某一個類或接口的注解信息,可以使用如下代碼: Annotation annotation = TestAnnotation.class.getAnnotation(MyAnnotation.class); β要得到全部的注解信息可使用如下語句: Annotation[] annotations = TestAnnotation.class.getAnnotations();或 Annotation[] annotations = TestAnnotation.class.getDeclaredAnnotations(); ? γ要得到其它成員的注解,可先得到這個成員,然后再得到相應的注解。如得到myMethod的注解。 Method method = TestAnnotation.class.getMethod("myMethod", null); Annotation annotation = method.getAnnotation(MyAnnotation.class); PS:要想使用反射得到注解信息,這個注解必須使用@Retention(RetentionPolicy.RUNTIME)進行注解。 所以注解是編程給我們提供的一個橋梁,幫我們擺脫繁雜無序的代碼,使我們無限靠近“面向對象”這座城堡,讓我們走向編程世界的更遠方: ![](https://box.kancloud.cn/2016-03-10_56e132d811fa9.jpg) ### 二、注釋 對于每日相伴的注釋我們應該很熟悉:主要是幫助我們理解某些代碼的或者用來記錄一些信息(比如開發時間、開發人員),在myEclipse中: ? 單行注釋:Ctrl+/ ? : 在行代碼上打上雙斜線。 ? 多行注釋:/**/ ? .jsp頁面的注釋:<-- 這是要被注釋掉的內容 --> ? .properties頁面注釋:將鍵盤切換到英文狀態,使用#(或者!)進行注釋 所以注釋就像是編程向我們伸出的援助之手,隨時向我們提供幫助: ![](https://box.kancloud.cn/2016-03-10_56e132d82a0e0.jpg) ### 三、總結: 注解和注釋雖然一字之差,卻帶著我們走入兩個不同的世界,一個幫助我們理解(不會對編譯器或者程序造成影響),一個通過對配置文件的封裝幫助我們高效開發: 注解是J2SE5.0提供的一項非常有趣的功能。它不但有趣,而且還非常有用。如即將出臺的EJB3.0規范就是借助于注解實現的。這樣將使EJB3.0在實現起來更簡單,更人性化。還有Hibernate3.0除了使用傳統的方法生成hibernate映射外,也可以使用注解來生成hibernate映射。總之,如果能將注解靈活應用到程序中,將會使你的程序更加簡潔和強大。 到這里,"形似"的注解和注釋就說完了,如果有什么問題,歡迎大家踴躍拍磚。也期待大家的交流和意見哦: ![](https://box.kancloud.cn/2016-03-10_56e132d8398b9.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看