Mitä eroa staattisen ja lopullisen muuttujan välillä on, kun molempien arvoja ei voi muuttaa?


Vastaus 1:

Me eksyimme ... staattiset ja lopulliset muuttujat ovat erilaisia ​​ja niillä on erilaiset käyttötarkoitukset, vaikka niitä voidaan käyttää yhdessä tarvittaessa. Ja kyllä, kuten toiset ovat jo todenneet täällä: "staattiset muuttujat voivat muuttaa arvoja", kun taas "lopulliset muuttujat eivät voi .... ne ovat vakioita". Katsotaanpa tätä:

staattinen: Tämä avainsana varmistaa, että meidän ei tarvitse huolehtia luokan esiintymien luomisesta. Tämä luo suoran yhteyden luokkaan ilman, että luodaan todellista luokan esiintymää. Niitä voi olla:

  1. staattiset muuttujat (pääsymuuttujat suoraan luokan nimen avulla) staattiset menetelmät (pääsymenetelmät suoraan luokan nimeä käyttämällä) staattiset sisäluokat (pääsy luomatta ulkoisen luokan esiintymää.)

lopullinen: Tämä avainsana varmistaa, että kukaan ei aio sekoittaa mitä tahansa on luotu ja pysyy sellaisenaan. Kun julistat jotain lopullista ... se on lopullinen. Siellä voi olla:

  1. lopulliset muuttujat (yksinkertaiset vakiomuuttujat, ei voi muuttaa arvoa, kun se on alustettu) lopulliset menetelmät (niitä ei voida ohittaa, mikä tarkoittaa, vaikka alaluokka voi kutsua vanhemman luokan lopullista menetelmää ilman mitään ongelmia, mutta se ei voi ohittaa sitä.) lopullinen luokka ( ei voida periä .. se tarkoittaa, että lopullisella luokalla ei ole koskaan alaluokkaa)

Sitä, jota ei voi muuttaa ja johon päästään luomatta luokan esiintymää, tulee staattinen lopullinen muuttuja.

Esimerkki:

luokan esimerkki {staattinen int arvo 1 = 5; // voidaan muuttaa käyttämällä esimerkkiä.arvo1 = mikä tahansa arvo; lopullinen int VALUE = 10; //: ta ei voi muuttaa, koska se on vakio eikä sitä voida käyttää luomatta esimerkkiluokan luokan esiintymää. staattinen lopullinen int-arvo3 = 18; //: ta ei voi muuttaa, mutta siihen pääsee käyttämällä esimerkkiä.value3; }

Kiitos :)


Vastaus 2:

Hyvin yksinkertaisella kielellä staattisen ja lopullisen muuttujan eroa käsitellään seuraavassa:

Staattisen muuttujan käyttö:

Otetaanpa esimerkki luokan matkapuhelimesta, jossa on vähän jäseniä. Sitten käytämme tämän luokan esimerkkiä uuden luurin luomiseen. Oletetaan, että haluat tietää luodun luurin todellisen määrän milloin tahansa, sinun on sitten seurattava sitä.

Siksi luomme muuttuvan laskurin Luurin luokkaan ja koska haluamme käyttää sitä missä tahansa ohjelman kohdalla, meidän on pidettävä sitä julkisena ja staattisena.

Tässä tulee kysymys miksi staattinen?

Koska tarvitsemme sen arvoa satunnaisesti, emme voi kutsua sitä mihinkään luokan tiettyyn esineeseen. Koska sen laskuri, ja haluamme käyttää sitä suoraan luomatta mitään luokan esiintymää. Ja staattinen antaa meille mahdollisuuden tehdä niin.

staattiset muuttujat liitetään luokkaan eikä mihinkään objektiin.

Käy läpi seuraava koodi ja tuloste:

julkisen luokan matkapuhelin {int srNumber, imeiNumber; tupla androidVersion; julkinen staattinen int määrä = 0; julkinen matkapuhelin (int srNo, int imeiNo, double androidVer) {srNumber = srNo; imeiNumber = imeiNo; androidVersion = androidVer; count ++; } public int getImeiNumber () {return imeiNumber; }}

Nyt luodaan pääohjelma staattisen käytön havainnollistamiseksi:

julkinen luokka HandsetDemo {julkinen staattinen tyhjä pää (merkkijono [] argit) {System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelinnumero); Luuri sonyX = uusi luuri (11, 12345, 5.5); Luuri sonyZ = uusi luuri (12, 12446, 6.0); System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelimen määrä); Luuri samsungGrand = uusi luuri (13, 33345, 5.8); Luuri panasonicT50 = uusi luuri (14, 19845, 6.0); Luurin micromaxGT50 = uusi luuri (15, 77845, 4.4); System.out.println ("Kokonaispuhelimet:" + Luurien määrä); }}

Yllä olevan ohjelman tulos on:

Matkapuhelimia yhteensä: 0 Matkapuhelimia yhteensä: 2 Matkapuhelimia yhteensä: 5

Siksi, julistamalla jäsen staattisiksi, pääsemme siihen suoraan luomatta mitään ilmentymää.

Lopullisen muuttujan käyttö:

Lopullista muuttujaa voidaan käyttää ohjelmissamme vakioiden ilmoittamiseen. Koska kun lisäämme lopullisen avainsanan ennen mitä tahansa muuttujaa, siitä tulee vakio eikä sen arvoa voida muuttaa myöhemmin ohjelmassa.

Lopullinen modifikaattori osoittaa, että tämän kentän arvoa ei voida muuttaa

Esimerkiksi: Jos ohjelmassamme käytetään verokantaa laskelmiin, emme halua sen muuttuvan milloin tahansa, joten julistamme sen lopullisena.

julkinen luokka FinalDemo {julkinen staattinen tyhjä pää (merkkijono [] merkitsee) {lopullinen kaksinkertainen STAX = 14,50; kaksoislaskut = 1000, määrä; määrä = maksut + (maksut * STAX) / 100; System.out.println ("kokonaismäärä:" + määrä); }}

Voimme myös määritellä minkä tahansa luokan muuttujan lopulliseksi staattiseksi molemmiksi, jotta tähän vakioon pääsee käsittämättä välittömästi luokan kohdetta.

Toivottavasti tämä poistaa staattisen ja lopullisen käsitteen. Molemmat ovat erilaisia ​​ja siten niiden toteutus.

Kirjoittaja on Java Trainer Varun Akatemian taitojen kehittämisessä


Vastaus 3:

Hyvin yksinkertaisella kielellä staattisen ja lopullisen muuttujan eroa käsitellään seuraavassa:

Staattisen muuttujan käyttö:

Otetaanpa esimerkki luokan matkapuhelimesta, jossa on vähän jäseniä. Sitten käytämme tämän luokan esimerkkiä uuden luurin luomiseen. Oletetaan, että haluat tietää luodun luurin todellisen määrän milloin tahansa, sinun on sitten seurattava sitä.

Siksi luomme muuttuvan laskurin Luurin luokkaan ja koska haluamme käyttää sitä missä tahansa ohjelman kohdalla, meidän on pidettävä sitä julkisena ja staattisena.

Tässä tulee kysymys miksi staattinen?

Koska tarvitsemme sen arvoa satunnaisesti, emme voi kutsua sitä mihinkään luokan tiettyyn esineeseen. Koska sen laskuri, ja haluamme käyttää sitä suoraan luomatta mitään luokan esiintymää. Ja staattinen antaa meille mahdollisuuden tehdä niin.

staattiset muuttujat liitetään luokkaan eikä mihinkään objektiin.

Käy läpi seuraava koodi ja tuloste:

julkisen luokan matkapuhelin {int srNumber, imeiNumber; tupla androidVersion; julkinen staattinen int määrä = 0; julkinen matkapuhelin (int srNo, int imeiNo, double androidVer) {srNumber = srNo; imeiNumber = imeiNo; androidVersion = androidVer; count ++; } public int getImeiNumber () {return imeiNumber; }}

Nyt luodaan pääohjelma staattisen käytön havainnollistamiseksi:

julkinen luokka HandsetDemo {julkinen staattinen tyhjä pää (merkkijono [] argit) {System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelinnumero); Luuri sonyX = uusi luuri (11, 12345, 5.5); Luuri sonyZ = uusi luuri (12, 12446, 6.0); System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelimen määrä); Luuri samsungGrand = uusi luuri (13, 33345, 5.8); Luuri panasonicT50 = uusi luuri (14, 19845, 6.0); Luurin micromaxGT50 = uusi luuri (15, 77845, 4.4); System.out.println ("Kokonaispuhelimet:" + Luurien määrä); }}

Yllä olevan ohjelman tulos on:

Matkapuhelimia yhteensä: 0 Matkapuhelimia yhteensä: 2 Matkapuhelimia yhteensä: 5

Siksi, julistamalla jäsen staattisiksi, pääsemme siihen suoraan luomatta mitään ilmentymää.

Lopullisen muuttujan käyttö:

Lopullista muuttujaa voidaan käyttää ohjelmissamme vakioiden ilmoittamiseen. Koska kun lisäämme lopullisen avainsanan ennen mitä tahansa muuttujaa, siitä tulee vakio eikä sen arvoa voida muuttaa myöhemmin ohjelmassa.

Lopullinen modifikaattori osoittaa, että tämän kentän arvoa ei voida muuttaa

Esimerkiksi: Jos ohjelmassamme käytetään verokantaa laskelmiin, emme halua sen muuttuvan milloin tahansa, joten julistamme sen lopullisena.

julkinen luokka FinalDemo {julkinen staattinen tyhjä pää (merkkijono [] merkitsee) {lopullinen kaksinkertainen STAX = 14,50; kaksoislaskut = 1000, määrä; määrä = maksut + (maksut * STAX) / 100; System.out.println ("kokonaismäärä:" + määrä); }}

Voimme myös määritellä minkä tahansa luokan muuttujan lopulliseksi staattiseksi molemmiksi, jotta tähän vakioon pääsee käsittämättä välittömästi luokan kohdetta.

Toivottavasti tämä poistaa staattisen ja lopullisen käsitteen. Molemmat ovat erilaisia ​​ja siten niiden toteutus.

Kirjoittaja on Java Trainer Varun Akatemian taitojen kehittämisessä


Vastaus 4:

Hyvin yksinkertaisella kielellä staattisen ja lopullisen muuttujan eroa käsitellään seuraavassa:

Staattisen muuttujan käyttö:

Otetaanpa esimerkki luokan matkapuhelimesta, jossa on vähän jäseniä. Sitten käytämme tämän luokan esimerkkiä uuden luurin luomiseen. Oletetaan, että haluat tietää luodun luurin todellisen määrän milloin tahansa, sinun on sitten seurattava sitä.

Siksi luomme muuttuvan laskurin Luurin luokkaan ja koska haluamme käyttää sitä missä tahansa ohjelman kohdalla, meidän on pidettävä sitä julkisena ja staattisena.

Tässä tulee kysymys miksi staattinen?

Koska tarvitsemme sen arvoa satunnaisesti, emme voi kutsua sitä mihinkään luokan tiettyyn esineeseen. Koska sen laskuri, ja haluamme käyttää sitä suoraan luomatta mitään luokan esiintymää. Ja staattinen antaa meille mahdollisuuden tehdä niin.

staattiset muuttujat liitetään luokkaan eikä mihinkään objektiin.

Käy läpi seuraava koodi ja tuloste:

julkisen luokan matkapuhelin {int srNumber, imeiNumber; tupla androidVersion; julkinen staattinen int määrä = 0; julkinen matkapuhelin (int srNo, int imeiNo, double androidVer) {srNumber = srNo; imeiNumber = imeiNo; androidVersion = androidVer; count ++; } public int getImeiNumber () {return imeiNumber; }}

Nyt luodaan pääohjelma staattisen käytön havainnollistamiseksi:

julkinen luokka HandsetDemo {julkinen staattinen tyhjä pää (merkkijono [] argit) {System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelinnumero); Luuri sonyX = uusi luuri (11, 12345, 5.5); Luuri sonyZ = uusi luuri (12, 12446, 6.0); System.out.println ("Yhteensä matkapuhelimia:" + matkapuhelimen määrä); Luuri samsungGrand = uusi luuri (13, 33345, 5.8); Luuri panasonicT50 = uusi luuri (14, 19845, 6.0); Luurin micromaxGT50 = uusi luuri (15, 77845, 4.4); System.out.println ("Kokonaispuhelimet:" + Luurien määrä); }}

Yllä olevan ohjelman tulos on:

Matkapuhelimia yhteensä: 0 Matkapuhelimia yhteensä: 2 Matkapuhelimia yhteensä: 5

Siksi, julistamalla jäsen staattisiksi, pääsemme siihen suoraan luomatta mitään ilmentymää.

Lopullisen muuttujan käyttö:

Lopullista muuttujaa voidaan käyttää ohjelmissamme vakioiden ilmoittamiseen. Koska kun lisäämme lopullisen avainsanan ennen mitä tahansa muuttujaa, siitä tulee vakio eikä sen arvoa voida muuttaa myöhemmin ohjelmassa.

Lopullinen modifikaattori osoittaa, että tämän kentän arvoa ei voida muuttaa

Esimerkiksi: Jos ohjelmassamme käytetään verokantaa laskelmiin, emme halua sen muuttuvan milloin tahansa, joten julistamme sen lopullisena.

julkinen luokka FinalDemo {julkinen staattinen tyhjä pää (merkkijono [] merkitsee) {lopullinen kaksinkertainen STAX = 14,50; kaksoislaskut = 1000, määrä; määrä = maksut + (maksut * STAX) / 100; System.out.println ("kokonaismäärä:" + määrä); }}

Voimme myös määritellä minkä tahansa luokan muuttujan lopulliseksi staattiseksi molemmiksi, jotta tähän vakioon pääsee käsittämättä välittömästi luokan kohdetta.

Toivottavasti tämä poistaa staattisen ja lopullisen käsitteen. Molemmat ovat erilaisia ​​ja siten niiden toteutus.

Kirjoittaja on Java Trainer Varun Akatemian taitojen kehittämisessä