Java娉ㄩ噴

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java娉ㄩ噴相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/col' title='col'>col   lang   ons   none   鎺ュ彛   ota   鎻愬彇   

姒傚康锛?/p>

  • JDK1.5涔嬪悗鐨勭壒鎬?/li>
  • 璇存槑绋嬪簭鐨?/li>
  • 浣跨敤娉ㄨВ锛欯娉ㄨВ鍚嶇О

浣滅敤鍒嗙被锛?/p>

  • 缂栧啓鏂囨。锛氶€氳繃浠g爜閲屾爣璇嗙殑娉ㄨВ鐢熸垚鐨勬枃妗o紝鐢熸垚鏂囨。doc
  • 浠g爜鍒嗘瀽锛氶€氳繃浠g爜閲屾爣璇嗙殑娉ㄨВ瀵逛唬鐮佽繘琛屽垎鏋愶紝浣跨敤鍙嶅皠
  • 缂栬瘧妫€鏌ワ細閫氳繃浠g爜閲屾爣璇嗙殑娉ㄨВ璁╃紪璇戝櫒鑳藉瀹炵幇鍩烘湰鐨勭紪璇戞鏌ワ紝Override
  • 鍊煎緱娉ㄦ剰鐨勬槸锛屾敞瑙d笉鏄唬鐮佹湰韬殑涓€閮ㄥ垎锛屽浠g爜鐨勮繍琛屾晥鏋滄病鏈夌洿鎺ュ奖鍝?/li>

JDK涓殑棰勫畾涔夌殑涓€浜涙敞瑙?/p>

  • @Override锛氭娴嬭璇ユ敞瑙f爣娉ㄧ殑鏂规硶鏄惁鏄户鎵胯嚜鐖剁被(鎺ュ彛)鐨?/li>
  • @Deprecated锛氳娉ㄨВ鐨勬爣娉ㄧ殑鍐呭锛岃〃绀哄凡杩囨椂鐨?/li>
  • @SupperssWarnings锛氬帇鍒惰鍛婏紝涓€鑸紶閫掑弬鏁?rdquo;all”

鑷畾涔夋敞瑙?/p>

  • 鏍煎紡锛?
    • 鍏冩敞瑙?/li>
    • public @interface 娉ㄨВ鍚嶇О{灞炴€у垪琛▆
  • 鏈川锛氭敞瑙f湰璐ㄤ笂灏辨槸涓€涓帴鍙o紝璇ユ帴鍙i粯璁ょ户鎵緼nnotation鎺ュ彛
    • public interface MyAnno extends java.lang.annotation.Annotation {}
  • 灞炴€э細鎺ュ彛涓彲浠ユ娊璞℃柟娉?
    • 灞炴€х殑杩斿洖鍊肩被鍨嬶細鍩烘湰鏁版嵁绫诲瀷銆丼tring銆佹灇涓俱€佹敞瑙c€佷互涓婄被鍨嬬殑鏁扮粍
    • 瀹氫箟浜嗗睘鎬э紝鍦ㄤ娇鐢ㄦ椂闇€瑕佺粰灞炴€ц祴鍊?
      • 濡傛灉瀹氫箟灞炴€ф椂锛屼娇鐢╠efault鍏抽敭瀛楃粰灞炴€ч粯璁ゅ垵濮嬪寲鍊硷紝鍒欎娇鐢ㄦ敞瑙f椂鍙互涓嶈繘琛岃祴鍊?/li>
      • 濡傛灉涓€涓睘鎬ч渶瑕佽祴鍊硷紝骞朵笖灞炴€х殑鍚嶇О鏃秜alue锛屽垯value鍙互鐪佺暐锛岀洿鎺ュ畾涔夊€?/li>
      • 鏁扮粍璧嬪€兼椂锛屽€间娇鐢▄}鍖呰9锛屽鏋滄暟缁勪腑鍙湁涓€涓€硷紝鍒檣}鍙互鐪佺暐
  • 鍏冩敞瑙o細鐢ㄤ簬鎻忚堪娉ㄨВ鐨勬敞瑙?
    • @Target锛氭弿杩版敞瑙h兘澶熶綔鐢ㄧ殑浣嶇疆
      • ElementType鍙栧€硷細
        • TYPE锛氬彲浠ヤ綔鐢ㄤ簬绫讳笂
        • METHOD锛氬彲浠ヤ綔鐢ㄤ簬鏂规硶涓?/li>
        • FIELD锛氬彲浠ヤ綔鐢ㄤ簬鎴愬憳鍙橀噺涓?/li>
    • @Retention锛氭弿杩版敞瑙h兘澶熶繚鐣欑殑闃舵(source锛宑lass锛宺untime)
      • @Retention(RetentionPolicy.RUNTIME)锛氬綋鍓嶈鎻忚堪鐨勬敞瑙o紝浼氫繚鐣欏埌class瀛楄妭鐮佹枃浠朵腑锛屽苟琚獼VM璇诲彇鍒?/li>
    • @Documented锛氭弿杩版敞瑙f槸鍚﹁鎶藉彇鍒癆PI鏂囨。涓?/li>
    • @Inherited锛氭弿杩版敞瑙f槸鍚﹁瀛愮被缁ф壙

娉ㄨВ鐨勬彁鍙?/p>

娉ㄨВ閫氳繃鍙嶅皠鎻愬彇锛岄鍏堝彲浠ラ€氳繃Class瀵硅薄鐨刬sAnnotationPresent()鏂规硶鍒ゆ柇瀹冩槸鍚﹀簲鐢ㄤ簡鏌愪釜娉ㄨВ

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {}

鐒跺悗閫氳繃getAnnotation()鏂规硶鏉ヨ幏鍙朅nnotation瀵硅薄

public <A extends Annotation> A getAnnotation(Class<A> annotationClass) {}

鎴栬€呮槸getAnnotation()鏂规硶

public Annotation[] getAnnotations() {}

鍓嶄竴绉嶆柟娉曡繑鍥炴寚瀹氱被鍨嬬殑娉ㄨВ锛屽悗涓€绉嶆柟娉曡繑鍥炶繖涓厓绱犱笂鍏ㄩ儴娉ㄨВ

@TestAnnotation()
public class Test {
    public static void main(String[] args) {
        boolean hasAnnotation = Test.class.isAnnotationPresent(TestAnnotation.class);
        if ( hasAnnotation ) {
            TestAnnotation testAnnotation = Test.class.getAnnotation(TestAnnotation.class);
            System.out.println("id:"+testAnnotation.id());
            System.out.println("msg:"+testAnnotation.msg());
        }
    }
}

 

璇︾粏浠嬬粛鍙互鍙傝€冿細https://zhuanlan.zhihu.com/p/37701743

以上是关于Java娉ㄩ噴的主要内容,如果未能解决你的问题,请参考以下文章

PHP鍩烘湰璇硶

PHP鏍囧噯娉ㄩ噴鍐欐硶

Python Django妗嗘灦瀹炵幇鍟嗗煄椤圭洰婧愮爜鍔犺璁℃枃妗e拰娉ㄩ噴

鏍规嵁 Promise/A+ 鍜?ES6 瑙勮寖锛屽疄鐜?Promise 婧愮爜锛堥檮璇︾粏娉ㄩ噴鍜屾祴璇曪級

Oracle寤鸿〃鑴氭湰璁板綍

Django妯″潡涔媕inja2妯$増