Это просто стиль кодирования, за которым следует Java.Во втором способе «объявление переменной члена» определяет переменную, более читабельную, и при определении переменной того же типа в методе (первый способ), если разработчик определит то же имя, что и Set<K> keySet = this.keySet;
вместо Set<K> ks = keySet;
, это приведет к путанице при чтении кода.
Так много сообществ, включая Android, придерживаются немного другого стиля для одного и того же.«m» используется в качестве префикса для объявления переменной-члена.Поэтому, если я перепишу приведенный выше код, это будет
- Создание локальной переменной.
private Set<K> mKeySet;
public Set<K> keySet() {
Set<K> keySet = mKeySet;
if (keySet == null) {
keySet = new KeySet();
mKeySet = keySet;
}
return keySet;
}
Работа с переменной члена класса.
public Set<K> keySet() {
if (mKeySet == null) {
mKeySet = new KeySet();
}
return mKeySet;
}
Итак, у вашего добавленного кода есть стиль, которому следует Java.