Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2025
Noen ganger vil du opprette en Java-klasse som ikke kan instantieres i det hele tatt. En slik klasse består helt av statiske felt og metoder. Et godt eksempel i Java API er klassen
Math
.
Dens metoder gir funksjonstypefunksjoner som ikke egentlig er knyttet til en bestemt gjenstand. Det kan hende du må opprette lignende klasser selv noen ganger. Du kan opprette en klasse med statiske metoder for å validere inngangsdata, for eksempel, eller en database tilgangsklasse som har statiske metoder for å hente data fra en database. Du trenger ikke å opprette forekomster av noen av disse klassene.
Du kan bruke et enkelt triks for å hindre at noen frakaster en klasse. For å opprette en klasseeksempel må du ha minst en offentlig konstruktør. Hvis du ikke gir en konstruktør i klassen din, legger Java automatisk inn en standardkonstruktor, som er offentlig.
Alt du trenger å gjøre for å forhindre at en klasseeksempel blir opprettet, er da en enkelt privatbygger, slik:
Validering av offentlig klasse
{
privat validering () {} // forhindrer forekomster
// statiske metoder og felt går her
}
Nå fordi Konstruktøren er privat, klassen kan ikke bli instantiated.
For øvrig bruker klassen
Math
denne teknikken for å hindre at du oppretter forekomster fra den. Her er en faktisk kodebit fra klassen
Math
:
offentlig sluttklassematikk {
/ **
* Ikke la noen ordne denne klassen.
* /
privat matematikk () {}
Hvis dette trikset er bra nok for folkene som skrev klassen
Math
, er det nok godt nok for deg.
