Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
powykonaniunewB()uzyskamynastępującąkolejnośćinicjowania:
StatycznyblokinicjacyjnyklasyA
InicjacjapolastatycznegoklasyA
StatycznyblokinicjacyjnyklasyB
InicjacjapolastatycznegoklasyB
inicjacjapolaniestatycznegoklasyA
NiestatycznyblokinicjacyjnyklasyA
KonstruktorklasyA
inicjacjapolaniestatycznegoklasyB
NiestatycznyblokinicjacyjnyklasyB
KonstruktorklasyB
Przydziedziczeniunależyrównieżpamiętaćonastępującychkwestiach:
Wywołaniekonstruktoranadklasyzkonstruktoraklasypochodnejodbywasięza
pomocąsuper(arg–konstruktora);,comusibyćpierwsząinstrukcjąwciele
konstruktorapodklasy.
Jeśliniematakiegowywołania,todomyślniewołanyjestkonstruktorbezparametrowy
nadklasy.
Konstruktorbezparametrowyjestautomatyczniedodawanydoklasy,jeśliniezdefinio-
wanowniejżadnychkonstruktorów.
Jeślijednakzdefiniowanokonstruktory
,tokonstruktorbezparametrowyniejestdodawany
.
Wtakiejsytuacji:
classA{
A(intx){iii}
}
classBextendsA{
B(){//niemasuper(iii)}
}
powstaniewięcbłądwkompilacji,bodomyślniemabyćwywoływanykonstruktorbezpa-
rametrowyklasyA,ajestonwtejklasieniezdefiniowany.
1.;.Singletony
Wzorzecsingletonzapewnia,żeklasabędziemiałatylkojednąinstancję(możnautwo-
rzyćtylkojedenobiekttejklasy),ajednocześnieudostępniaglobalny,jednolitysposób
uzyskiwaniaiodwoływaniasiędotegoobiektuzróżnychfragmentówkodu(innychklas).
Przykładowosingletonemmożebyćcennikużywanyprzezróżneklasyjakiegośsystemu
rozliczeniowego(faktyczniewtakiejsytuacjicennikpowinienbyćjednolity,awięczawsze
przyodwołaniachdoniegopowinniśmyuzyskiwaćjedenitensamobiekt).
1.;.Singletony
35