Heim >Java >javaLernprogramm >Können Sie in Java auf Anmerkungswerte einer anderen Klasse zugreifen?
Ist es in Java möglich, die Werte von Anmerkungen, die in einer Klasse definiert sind, innerhalb einer anderen abzurufen?
Zum Beispiel: Betrachten Sie die folgende Annotation und die entsprechenden Zugriffsmethoden:
<br>@Column(columnName="firstname")<br>private String firstName;</p> <p>@Column(columnName= "lastname")<br>private String lastName;</p> <p>public String getFirstName() {<br> return firstName;<br>}</p> <p>public void setFirstName(String firstName) {<br> this.firstName = firstName;<br>}</p> <p>public String getLastName() {<br> return lastName;<br>}</p> <p>public void setLastName(String lastName) {<br> this .lastName = lastName;<br>}<br>
Ist es möglich, den „columnName“-Wert der @Column-Annotation aus einer separaten Klasse zu ermitteln?
Ja , ist es möglich, wenn die @Column-Annotation die Laufzeitaufbewahrung mithilfe von @Retention(RetentionPolicy.RUNTIME) angibt. So geht's:
<code class="java">for (Field f: MyClass.class.getFields()) { Column column = f.getAnnotation(Column.class); if (column != null) System.out.println(column.columnName()); }</code>
Beachten Sie, dass MyClass.class.getFields() nur öffentliche Felder abruft. Um auf private Felder zuzugreifen, verwenden Sie MyClass.class.getDeclaredFields().
Das obige ist der detaillierte Inhalt vonKönnen Sie in Java auf Anmerkungswerte einer anderen Klasse zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!