Kaikki mitä sinun tarvitsee tietää Java-sovelluksen lopullisesta, lopullisesta ja viimeistelystä



Tämä artikkeli Java, Final, Final ja Finalize tarjoaa sinulle täydellisen luettelon Final-, Final- ja Finalise-avainsanojen eroista sekä käytännön toteutuksista.

Jos sinulla on aikaisempaa kokemusta , niin olet ehkä huomannut, että haastattelijat pyrkivät esittämään hankalia kysymyksiä, jotka yleensä poimitaan peruskäsitteistä. Yksi tällainen kysymys, jota enimmäkseen kysytään, on erottaa lopullinen, lopullinen ja viimeistellä vuonna . Tämän artikkelin välityksellä aion vetää selkeän rajan Java: n lopullisen, lopullisen ja viimeisteltävän välillä, mikä auttaa sinua saamaan parempia oivalluksia.

Tässä artikkelissa käsittelen seuraavia aiheita:





Joten, aloitetaan ensimmäisellä avainsanalla lopullisten, lopuksi ja viimeistellään Java-sovelluksessa.

Lopullinen avainsana

Java-ohjelmassa final on avainsana, jota voidaan käyttää myös pääsynmuokkaajana. Toisin sanoen lopullista avainsanaa käytetään rajoittamaan käyttäjän pääsyä. Sitä voidaan käyttää erilaisissa yhteyksissä, kuten:



  1. Muuttuva finaali
  2. Lopullinen menetelmä
  3. Viimeinen luokka

Jokaisella näistä lopullisella avainsanalla on erilainen vaikutus. Katsotaan nyt, miten se vaikuttaa kumpaankin niistä yksitellen.

1. Muuttuva loppu

Aina lopullinen avainsana käytetään muuttujan, kentän tai parametrin kanssa, se tarkoittaa, että kun viite on välitetty tai instansointi on tehty, sen arvoa ei voida muuttaa koko ohjelman suorituksen ajan. Tapauksessa a ilman mitään arvoa on julistettu lopulliseksi, se tunnetaan tyhjänä / alustamattomana lopullisena muuttujana ja se voidaan alustaa vain konstruktorin kautta.

Katsotaan nyt esimerkki.



julkinen luokka A {int var1 = 123 // lopullisten muuttujien ilmoittaminen lopullisiksi int var2 = 345 lopullinen int var3 // Yritetään alustaa tyhjä lopullinen muuttuja var = 555 // Virhe A () {var1 = 111 // Ei virhettä var2 = 333 // Kääntövirhe // Alustetaan tyhjä lopullinen muuttuja var3 = 444 // Ei virhettä} // lopullisten parametrien välittäminen void avg (int param1, final int param2) {param1 = 2345 // Ei virhettä param2 = 1223 // Koosivirhe} // lopullisten kenttien julistaminen mitätöiksi show () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

Joten tässä oli kyse lopullisen avainsanan vaikutuksesta muuttujaan. Katsotaanpa nyt, miten se vaikuttaa menetelmään.

2. Lopullinen menetelmä

Javassa, kun menetelmä julistetaan lopulliseksi, se ei voi olla mikä tahansa lapsiluokka koko ohjelman suorittamisen ajan.

Katsotaanpa esimerkki.

// LOPULLINEN MENETELMÄ luokka A {final void method_abc () {System.out.println ('Tämä on lopullinen menetelmä eikä sitä voida ohittaa')} void method_xyz () {System.out.println ('Tämä on normaali menetelmä ja voidaan ohittaa ')}} luokka B laajentaa A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' Tämä on ohitettu menetelmä luokassa B ')}}

Tähän asti olet jo nähnyt muuttujan ja menetelmän lopulliseksi julistamisen tulokset, antaa nyt siirtyä eteenpäin ja nähdä, mitä tapahtuu, kun luokka julistetaan lopulliseksi Java-sovelluksessa.

3. Viimeinen luokka

Javassa, kun luokka julistetaan lopulliseksi, se ei voi olla . Tämä johtuu siitä, että kun luokka on julistettu lopulliseksi, kaikki luokan jäsenet ja menetelmät ilmoitetaan implisiittisesti lopullisiksi. Kun luokka on julistettu lopulliseksi, sitä ei voida enää julistaa abstraktiksi. Toisin sanoen luokka voi olla joko kaksi, lopullinen tai abstrakti.

Katsotaanpa esimerkki.

// FINAL CLASS, loppuluokka A {// class body}, luokan B laajennus A {// Compilation Error // class body}

Toivon, että olet jo ymmärtänyt selvästi viimeisen avainsanan toiminnan. Joten, siirrytään nyt eteenpäin tämän artikkelin kanssa lopullisesta, lopuksi ja viimeistelemään Java-sovelluksessa saadaksemme selville lopullisen avainsanan roolin.

Lopuksi estä

Java: ssa on lopuksi valinnainen lohko, jota käytetään . Sitä edeltää yleensä try-catch-lohko. Lopuksi lohkoa käytetään tärkeän koodin, kuten resurssien siivouksen suorittamiseen tai muistin käytön vapauttamiseen, jne. Viimeinen lohko suoritetaan riippumatta siitä, käsitelläänkö poikkeusta vai ei. Siitä syystä puhdistuskoodien käärimistä viimeiseen lohkoon pidetään hyvänä käytäntönä. Voit käyttää sitä myös kokeilulohkolla tarvitsematta kiinnipitolohkoa sen mukana.

Katsotaan nyt esimerkki samasta.

luokka A {public static void main (String args []) {kokeile {System.out.println ('Try Block') heittää uusi Exception ()} catch (Exception e) {System.out.println ('Catch Block') } lopuksi {System.out.println ('Viimeinen esto')}}}

Tähän asti olen jo keskustellut viimeisistä ja viimeisimmistä avainsanoista Javassa. Valaistaan ​​nyt viimeistä avainsanaa kolmen joukosta, eli viimeistelkää avainsana Java-kielellä.

Viimeistele menetelmä

Viimeistely on suojattu ei-staattinen menetelmä, joka on määritelty Object-luokassa ja on siten käytettävissä kaikille Java-kohteille.Tämä menetelmä onennen kuin esine on täysin tuhoutunut, soittanut roskakorin.Kuten toisinaan,an saattaa joutua suorittamaan joitain tärkeitä tehtäviä, kuten avoimen yhteyden sulkeminen, resurssin vapauttaminen jne., ennen kuin se tuhoutuu. Jos näitä tehtäviä ei suoriteta, se saattaa heikentää ohjelman tehokkuutta. Sitenroskien keräilijä kutsuu niitä esineille, joihin ei enää viitata ja jotka on merkitty roskakoriin.

Tämä menetelmä julistetaan suojatuksi rajoittamaan sen käyttöä luokan ulkopuolella. Mutta voit ohittaa sen luokan sisällä määritelläksesi sen ominaisuudet roskien keräyshetkellä.

python-luokat ja objektiesimerkit

Katsotaanpa esimerkki samasta.

julkinen luokka A {public void finalize () heittää heitettävän {System.out.println ('Garbage Collector tuhoaa objektin')} public static void main (String [] argumentti) {Edureka test = new Edureka () test = null System.gc ()}}

Tämän avulla olemme päässeet tämän artikkelin lopulliseen, lopulliseen ja viimeisteltyyn Java-artikkeliin. Tämän lopuksi olen lisännyt vertailun kaikkien kolmen avainsanan välillä, mikä auttaa sinua saamaan suurimmat erot yhdellä silmäyksellä.

Vertailutaulukko - Lopullinen vs Lopullinen vs Viimeistele avainsanat Java-ohjelmassa

Tekijä Lopullinen Lopuksi Viimeistele
Määritelmä Lopullinen on avainsana ja sitä käytetään Java-käyttöoikeuksien muokkaajanaLopuksi on Java-lohko, jota käytetään poikkeusten käsittelyynViimeistele on Java-menetelmä, jota käytetään roskakoriin
Sovellus Java-sovelluksen Finalia käytetään muuttujien, menetelmien ja luokkien kanssa käyttöoikeuksien asettamiseenLopuksi käytetään lohkoa yhdessä try and catch -lohkon kanssaViimeistelymenetelmää Java-sovelluksessa käytetään objektiin, jotka eivät ole enää käytössä
Toiminto Jaavan lopullinen muuttuja on vakio, jonka arvoa ei voi muuttaa, kun se on määritetty.

Lopullista Java-menetelmää ei voida ohittaa sen alaluokat.

Yksikään lapsiluokka ei voi periä Java-koulun viimeistä luokkaa.

Lopuksi Java-lohko auttaa puhdistamaan kokeilulohkossa käytetyt resurssitViimeistelymenetelmä auttaa puhdistamaan objektin ennen kuin roskankerääjä tuhoaa sen
Suoritus Se suoritetaan, kun kääntäjä käyttää sitäSuoritetaan heti try-catch-lohkon suorittamisen jälkeenSe suoritetaan juuri ennen kohteen tuhoutumista

Toivon, että tämän Java-, Final and Finalise- ja Finalise-ohjelmien avulla pystyin selventämään käsitteitä ja autoin sinua lisäämään tietojesi arvoa.

Jos olet löytänyt tämän artikkelin ”Viimeinen, viimeinen ja viimeistely Java-ohjelmassa” ”Asiaankuuluva, tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Onko sinulla kysymys meille? Mainitse se tämän kommenttiosassa Viimeinen, Viimeinen ja Viimeistele Java-sovelluksessa ja palaamme sinuun.