Aurrez definitutako/oharpen estandarrak

Aurrez definitutako/oharpen estandarrak

Batez ere, zazpi ohar daude JAVAn. Oharpen desberdinak jarraian zerrendatzen dira:

  • Lau ohar inportatzen dira java.lang.annotations paketetik: @Retention, @Documented, @Target eta @Inherited.
  • Beste hiru ohar sartzen dira java.lang paketean: @Deprecated, @Overide eta @SuppressWarnings.

Artikulu honek goian zerrendatutako hainbat ohar eztabaidatuko ditu eta mota bakoitzerako lagin-kode bat aurkeztuko du, aurrez definitutako/estandar oharpenen erabilera hobeto azaltzeko benetako iturburu-kodeetan.

@Oharpen zaharkitua

  • Zaharkitutako oharpena markatzaileen oharpen bat bezalakoa da. Adierazpen bat zaharkituta dagoen eta une honetan aktibo dagoen deklarazio berriago batekin ordeztu den adierazten du.
  • Elementu bat zaharkitzen saiatzen zaren bakoitzean, @deprecated etiketa erabili behar duzu.
  • @Deprecated etiketa dokumentaziorako erabiltzen da batez ere, eta @Deprecated oharpena, berriz, exekuzio garaiko hausnarketan erabiltzen da batez ere.
  • @Deprecated lehentasun handiagoa du @Deprecated-en aldean. Bi etiketak erabiltzen badira, @deprecated exekutatu egingo du konpilatzaileak @Deprecated baino lehen.

Adibidea:

public class DeprecatedDemo { @Deprecated public void Display () { System.out.println ("Demo Display"); } public static void main (String argsp[]) { DeprecatedDemo d1 = new DeprecatedDemo (); d1.Bistaratu(); } }

 

OUTPUT

Demo bistaratzea

@Overide oharpena

Ezabatzeko oharpenak Markatzaileen oharpenen azpimultzoak dira eta metodoetan soilik dei daitezke. @override ohartatutako metodo batek normalean bere superklaseko metodo bat gainidazten du. Konpilazio garaiko errore bat jartzen da metodo batek bere superklasearen metodoa gainidatzi ezin duen kasuetan. Hori dela eta, oharpen honek gainkargatzea baino, superklase metodo bat benetan gainidazten duela ziurtatzen du.

Adibidea:

class Demo { public void Display () { System.out.println ("Base Display () "); } public static void main (String args []) { Demo d1 = new Demo (); } } class Derived extends Demo { @Override public void Display () { System.out.println ( “Derived Display () ”); } ]

OUTPUT

Eratorritako pantaila ()

@SuppressWarnings

Konpiladorearen abisu jakin batzuk kendu behar dituzunean, @SuppressWarnings oharrak erabil ditzakezu. Konpiladorearen abisuaren izena eta kate-forma esplizituki kendu behar dira. Ez dago inolako mugarik oharpen mota honen deklarazio motari.

Abisuak zaharkitze-abisuetan eta egiaztatu gabeko abisuetan bereizten dira. Kode tradizional bat generikoen laguntza hartzen duen kode batekin interfazean jartzen den bakoitzean, egiaztatu gabeko abisu bat botatzen du konpilatzaileak.

Adibidea

class Demo { @Deprecated public void Display () { System.out.println ("Bistaratzea zaharkitua ()"); } } public class SuppressWarning { @SuppressWarnings ({“checked”, “deprecation”}) public static void main (String args []) { Demo d1 = new Demo (); d1.pantaila (); } }

 

OUTPUT

Erakusketa zaharkitua ()

@Oharpen dokumentatuak

Oharpen mota hauek bereziki oharpen jakin bat berez dokumentatu behar denean erabiltzen dira. @documented annotations erabiltzeak Javadoc abiarazten du kode-lerroak prozesatzeko eta sortutako dokumentuan oharrak motako informazioa gehitzeko.

@Helburua

Helburuko oharrak, izenak dioen bezala, beste ohar batzuk bideratzen ditu. Beste ohar batzuen oharpen gisa jarduteko diseinatuta dago. ElementType enumerazioko konstante bat, oro har, argumentu gisa hartzen dute Target-eko oharpenek.

@Heredatutako

Adierazpenetan soilik erabil daiteke oharpen mota hau, batez ere klaseen deklarazioetan. Mota honetako oharrak oinordetza kontzeptuari buruzkoak dira batez ere. Beraz, azpiklase batek erraz egin ditzake superklase baten oharrak. Azpiklasean lehenik egiaztatutako oharpen bat aurkitzen ez bada, ondoren superklaseari erreferentzia egingo zaio.

@Atxikipena

Atxikipenak, batez ere, oharrak lantzen duen programaren mailari buruzkoak dira. Hauek dira maila ezberdinetako Atxikipen Politika:

  • SOURCE
  • CLASS
  • IRAUPENA

Egilea

  • Barry allen

    Full Stack garatzaile bat, 10 urte baino gehiagoko esperientzia duen domeinu ezberdinetan SAP, Blockchain, AI eta Web Garapena barne.

    Ikusi mezu guztiak

Comments

Utzi erantzun bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatu dira *

Gune honek Akismet-ek spam erabiltzen du. Ikasi zure iruzkina nola prozesatu den.