public Field[] getFields() throws SecurityException
Mengembalikan array yang berisi objek Field yang mencerminkan semua bidang publik yang dapat diakses dari kelas atau antarmuka yang diwakili oleh objek Class ini. Elemen-elemen dalam array yang dikembalikan tidak diurutkan dan tidak dalam urutan tertentu. Metode ini mengembalikan array dengan panjang 0 jika kelas atau antarmuka tidak memiliki bidang publik yang dapat diakses, atau jika itu mewakili kelas array, tipe primitif, atau batal.
Secara khusus, jika objek Kelas ini mewakili kelas, metode ini mengembalikan bidang publik dari kelas ini dan semua superclassesnya. Jika objek Class ini mewakili antarmuka, metode ini mengembalikan bidang antarmuka ini dan semua antarmuka supernya.
Bidang panjang implisit untuk kelas array tidak tercermin oleh metode ini. Kode pengguna harus menggunakan metode class Array untuk memanipulasi array.
public Field[] getDeclaredFields() throws SecurityException
Mengembalikan array objek Bidang yang mencerminkan semua bidang yang dideklarasikan oleh kelas atau antarmuka yang diwakili oleh objek Kelas ini. Ini termasuk publik, dilindungi, akses default (paket), dan bidang pribadi , tetapi tidak termasuk bidang yang diwarisi . Elemen-elemen dalam array yang dikembalikan tidak diurutkan dan tidak dalam urutan tertentu. Metode ini mengembalikan array dengan panjang 0 jika kelas atau antarmuka menyatakan tidak ada bidang, atau jika objek Kelas ini mewakili tipe primitif, kelas array, atau batal.
Dan bagaimana jika saya membutuhkan semua bidang dari semua kelas induk? Beberapa kode diperlukan, misalnya dari https://stackoverflow.com/a/35103361/755804 :
public static List<Field> getAllModelFields(Class aClass) {
List<Field> fields = new ArrayList<>();
do {
Collections.addAll(fields, aClass.getDeclaredFields());
aClass = aClass.getSuperclass();
} while (aClass != null);
return fields;
}
getField
bisa mendapatkan bidang yang diwarisi dari superclass tetapigetDeclaredField
tidak bisa.getDeclaredField
batasi sendiri ke kelas tempat Anda memanggil fungsi.