public static final int MAX_PEOPLE_COUNT = 100;
public boolean maxPeopleCountReached() {
return peopleCount >= MAX_PEOPLE_COUNT;
}
...
int constant = Person.MAX_PEOPLE_COUNT;
Person
).Konstanty jsou vždy:
static
) — stačí nám jedna pro celou třídufinal
) — je to konstanta, tudíž pomocí final
zajistíme neměnnostKonstanta může být:
public static final int MAX_PEOPLE_COUNT = 100;
public boolean maxPeopleCountReached() {
return peopleCount >= MAX_PEOPLE_COUNT;
}
...
int constant = Person.MAX_PEOPLE_COUNT;
final
final
způsobuje, že daná hodnota se v proměnné nemůže změnit.final
odkaz se tedy změnit nemůže, ale vnitřek (atributy) objektu anofinal
objektová proměnnáfinal int i = 1;
i = 2; // cannot be done
final Person p = new Person("Honza");
p = new Person("Pavel"); // cannot be done
p.setName("Pavel"); // dirty hack
final
i slovo static
protože ji chceme právě jednou./