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:
- Lopullinen avainsana
- Lopuksi estä
- Viimeistele menetelmä
- Vertailutaulukko - Viimeinen, lopullinen ja viimeistely Java-muodossa
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:
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 muokkaajana | Lopuksi on Java-lohko, jota käytetään poikkeusten käsittelyyn | Viimeistele on Java-menetelmä, jota käytetään roskakoriin |
Sovellus | Java-sovelluksen Finalia käytetään muuttujien, menetelmien ja luokkien kanssa käyttöoikeuksien asettamiseen | Lopuksi käytetään lohkoa yhdessä try and catch -lohkon kanssa | Viimeistelymenetelmää 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 resurssit | Viimeistelymenetelmä 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älkeen | Se 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.