pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<legend id='WYSqk'><style id='WYSqk'><dir id='WYSqk'><q id='WYSqk'></q></dir></style></legend>

    • <bdo id='WYSqk'></bdo><ul id='WYSqk'></ul>
  1. <tfoot id='WYSqk'></tfoot>
    <i id='WYSqk'><tr id='WYSqk'><dt id='WYSqk'><q id='WYSqk'><span id='WYSqk'><b id='WYSqk'><form id='WYSqk'><ins id='WYSqk'></ins><ul id='WYSqk'></ul><sub id='WYSqk'></sub></form><legend id='WYSqk'></legend><bdo id='WYSqk'><pre id='WYSqk'><center id='WYSqk'></center></pre></bdo></b><th id='WYSqk'></th></span></q></dt></tr></i><div class="7vfdtfr" id='WYSqk'><tfoot id='WYSqk'></tfoot><dl id='WYSqk'><fieldset id='WYSqk'></fieldset></dl></div>

    <small id='WYSqk'></small><noframes id='WYSqk'>

      像 @Override 這樣的注解在 Java 內部是如何工作的

      How do annotations like @Override work internally in Java?(像 @Override 這樣的注解在 Java 內部是如何工作的?)
      <i id='X1BI5'><tr id='X1BI5'><dt id='X1BI5'><q id='X1BI5'><span id='X1BI5'><b id='X1BI5'><form id='X1BI5'><ins id='X1BI5'></ins><ul id='X1BI5'></ul><sub id='X1BI5'></sub></form><legend id='X1BI5'></legend><bdo id='X1BI5'><pre id='X1BI5'><center id='X1BI5'></center></pre></bdo></b><th id='X1BI5'></th></span></q></dt></tr></i><div class="zljvlhn" id='X1BI5'><tfoot id='X1BI5'></tfoot><dl id='X1BI5'><fieldset id='X1BI5'></fieldset></dl></div>

      1. <legend id='X1BI5'><style id='X1BI5'><dir id='X1BI5'><q id='X1BI5'></q></dir></style></legend>

              <bdo id='X1BI5'></bdo><ul id='X1BI5'></ul>
                <tbody id='X1BI5'></tbody>

              • <tfoot id='X1BI5'></tfoot>
              • <small id='X1BI5'></small><noframes id='X1BI5'>

                本文介紹了像 @Override 這樣的注解在 Java 內部是如何工作的?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                誰能向我解釋一下注解在 java 內部是如何工作的?

                Can anybody explain to me how annotations work internally in java?

                我知道如何在 java 中使用 java.lang.annotation 庫創建自定義注釋.但我仍然不明白它在內部是如何工作的,例如 @Override 注釋.

                I know how we can create custom annotations by using java.lang.annotation library in java. But I still don't get how it's working internally for example, the @Override annotation.

                如果有人能詳細解釋一下,我將非常感激.

                I will be really thankful if anyone could explain that in detail.

                推薦答案

                注解種類的第一個主要區別是它們是在編譯時使用然后被丟棄(如@Override)還是放置在已編譯的類文件中并在運行時可用(如 Spring 的 @Component).這由 @Retention 決定注釋的策略.如果您正在編寫自己的注解,則需要確定該注解是在運行時有用(可能用于自動配置)還是僅在編譯時有用(用于檢查或代碼生成).

                The first main distinction between kinds of annotation is whether they're used at compile time and then discarded (like @Override) or placed in the compiled class file and available at runtime (like Spring's @Component). This is determined by the @Retention policy of the annotation. If you're writing your own annotation, you'd need to decide whether the annotation is helpful at runtime (for autoconfiguration, perhaps) or only at compile time (for checking or code generation).

                編譯帶有注解的代碼時,編譯器看到注解就像看到源元素上的其他修飾符一樣,例如訪問修飾符 (public/private) 或 最終.當它遇到一個注解時,它會運行一個注解處理器,它就像一個插件類,它表示它對特定的注解感興趣.注釋處理器通常使用反射 API 來檢查正在編譯的元素,并且可以簡單地對它們運行檢查、修改它們或生成要編譯的新代碼.@Override 是第一個例子;它使用反射 API 來確保它可以在其中一個超類中找到方法簽名的匹配項,如果不能,則使用 Messager 導致編譯錯誤.

                When compiling code with annotations, the compiler sees the annotation just like it sees other modifiers on source elements, like access modifiers (public/private) or final. When it encounters an annotation, it runs an annotation processor, which is like a plug-in class that says it's interested a specific annotation. The annotation processor generally uses the Reflection API to inspect the elements being compiled and may simply run checks on them, modify them, or generate new code to be compiled. @Override is an example of the first; it uses the Reflection API to make sure it can find a match for the method signature in one of the superclasses and uses the Messager to cause a compile error if it can't.

                有許多關于編寫注釋處理器的教程;這是一個有用的.查看 Processor<上的方法/code> 接口 用于編譯器如何調用注解處理器;主要操作發生在 process 方法中,每次編譯器看到具有匹配注解的元素時都會調用該方法.

                There are a number of tutorials available on writing annotation processors; here's a useful one. Look through the methods on the Processor interface for how the compiler invokes an annotation processor; the main operation takes place in the process method, which gets called every time the compiler sees an element that has a matching annotation.

                這篇關于像 @Override 這樣的注解在 Java 內部是如何工作的?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用錯誤)
                Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 語句 - 是“或/“和可能的?)
                Java Replace Character At Specific Position Of String?(Java替換字符串特定位置的字符?)
                What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作數的三元表達式的類型是什么?)
                Read a text file and store every single character occurrence(讀取文本文件并存儲出現的每個字符)
                Why do I need to explicitly cast char primitives on byte and short?(為什么我需要在 byte 和 short 上顯式轉換 char 原語?)
                  <tfoot id='0TTAz'></tfoot>

                        • <bdo id='0TTAz'></bdo><ul id='0TTAz'></ul>
                          <legend id='0TTAz'><style id='0TTAz'><dir id='0TTAz'><q id='0TTAz'></q></dir></style></legend>
                            <tbody id='0TTAz'></tbody>
                        • <i id='0TTAz'><tr id='0TTAz'><dt id='0TTAz'><q id='0TTAz'><span id='0TTAz'><b id='0TTAz'><form id='0TTAz'><ins id='0TTAz'></ins><ul id='0TTAz'></ul><sub id='0TTAz'></sub></form><legend id='0TTAz'></legend><bdo id='0TTAz'><pre id='0TTAz'><center id='0TTAz'></center></pre></bdo></b><th id='0TTAz'></th></span></q></dt></tr></i><div class="htvnh5r" id='0TTAz'><tfoot id='0TTAz'></tfoot><dl id='0TTAz'><fieldset id='0TTAz'></fieldset></dl></div>

                          <small id='0TTAz'></small><noframes id='0TTAz'>

                          主站蜘蛛池模板: 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | led全彩屏-室内|学校|展厅|p3|户外|会议室|圆柱|p2.5LED显示屏-LED显示屏价格-LED互动地砖屏_蕙宇屏科技 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 派财经_聚焦数字经济内容服务平台 | SF6环境监测系统-接地环流在线监测装置-瑟恩实业 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 西安中国国际旅行社(西安国旅) | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 |