Konstanty v Javě
-
Konstanty slouží obecně (nejen v Javě) pro pojmenování hodnot, které se někdy vícekrát, ale často i pouze jedenkrát v programu vyskytují.
-
Takové hodnoty se také označují jako "magic numbers", protože nemusí být na první pohled zřejmé, proč je to zrovna právě ta hodnota.
-
Proto si ji symbolicky (výstižně) pojmenujeme a pak používáme tento identifikátor místo přímé hodnoty.
-
Lze i později snadno na jednom místě změnit.
-
V Javě není speciální kategorie typů pro konstanty.
-
Pro účely pevných hodnot se užívají statické nemodifikovatelné "proměnné".
-
Příklad:
private static final int NUM_MONTH = 12;
Note
|
Všimněte si nově modifikátoru final : zabrání omylem přepsání
přiřazením nové hodnoty. |
Doporučení
-
Konstantu je vhodné zavést i tehdy, když ji použijeme (zatím!) jen jednou.
-
Nemusí pochopitelně jít jen o čísla, ale libovolné typy — znaky, řetězce, data, ale i jiné objektové typy.
-
V ideálním případě nejsou v kódu programu mimo konstanty žádné jiné konkrétní hodnoty s výjimkou
0
,1
, znak mezera,true
/false
, případně znaků. -
Vše ostatní by mělo být definováno v konstantách.
-
Identifikátory by měly aspoň začínat velkým písmenem, nejlépe celé velkými písmeny.
Příklad konstanty
public class Person { private static final int MAX_PEOPLE_COUNT = 100; private String name; private int age; private static int peopleCount; public Person(String name, int age) { this.name = name; this.age = age; peopleCount++; } public static int howManyPeople() { return peopleCount; } public boolean maxPeopleCountReached() { return peopleCount >= MAX_PEOPLE_COUNT; } }
Note
|
Také vysvětleno v Using Constants |