title: Difference between Field#getAnnotations() and Field#getDeclaredAnnotations()
body: <p>JavaDoc says the following:</p>
  
  <p><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/AccessibleObject.html#getAnnotations%28%29">AccessibleObject#getDeclaredAnnotations</a>:</p>
  
  <blockquote>
    <p>Returns all annotations that are directly present on this element. Unlike the other methods in this interface, this method ignores inherited annotations. (Returns an array of length zero if no annotations are directly present on this element.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers. </p>
  </blockquote>
  
  <p><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html#getDeclaredAnnotations%28%29">Field#getAnnotations</a>:</p>
  
  <blockquote>
    <p>Returns all annotations present on this element. (Returns an array of length zero if this element has no annotations.) The caller of this method is free to modify the returned array; it will have no effect on the arrays returned to other callers.</p>
  </blockquote>
  
  <p>Since <code>getAnnotations</code> is inherited from class <code>java.lang.reflect.AccessibleObject</code>, have Field objects access to it.</p>
  
  <p>As i understand it is the only difference between them that <code>getDeclaredAnnotations</code> ignores inherited annotations. <strong>I get that when dealing with Classes but as far as i know Fields can NOT inherit annotations.</strong></p>