Jaka jest różnica między getFields i getDeclaredFields w odbiciu Java

Jestem trochę zdezorientowany różnicą międzygetFields metoda igetDeclaredFields metoda podczas używania refleksji Java.

Przeczytałem togetDeclaredFields daje dostęp do wszystkich pól klasy i tymgetFields zwraca tylko pola publiczne. Jeśli tak jest, dlaczego nie chcesz po prostu zawsze używaćgetDeclaredFields?

Czy ktoś może rozwinąć tę kwestię i wyjaśnić różnicę między tymi dwiema metodami i kiedy / dlaczego chciałbyś użyć jednego z nich?

questionAnswers(3)

yourAnswerToTheQuestion