ListAdapter — почему конструктор адаптера списка является супер(User.diffCallBack) в примере google?

#android #constructor #super #listadapter

Вопрос:

Я недавно читал пример ListAdapter в документации Google

Для приведения примера класса ListAdapter:

  class UserAdapter extends ListAdapter<User, UserViewHolder> {
 public UserAdapter() {
     super(User.DIFF_CALLBACK);
 }
 @Override
 public void onBindViewHolder(UserViewHolder holder, int position) {
     holder.bindTo(getItem(position));
 }
 public static final DiffUtil.ItemCallback<User> DIFF_CALLBACK =
         new DiffUtil.ItemCallback<User>() {
     @Override
     public boolean areItemsTheSame(
             @NonNull User oldUser, @NonNull User newUser) {
         // User properties may have changed if reloaded from the DB, but ID is fixed
         return oldUser.getId() == newUser.getId();
     }
     @Override
     public boolean areContentsTheSame(
             @NonNull User oldUser, @NonNull User newUser) {
         // NOTE: if you use equals, your object must properly override Object#equals()
         // Incorrectly returning false here will result in too many animations.
         return oldUser.equals(newUser);
     }
 }
 

}

Я не совсем понимаю, почему аргумент в super() в конструкторе — «User.DIFF_CALLBACK«. Функция DIFF_CALLBACK не является ли это полем в классе адаптера?