Koks skirtumas tarp „Java“ kintamų ir nekintamų?



Šis straipsnis apie „Java“ kintamą ir nekintamą yra išsamus jų skirtumų vadovas ir aptariamas, kodėl „Java“ eilutės yra nekintamos.

„Java“ yra viena populiariausių pateikia įvairias programų kūrimo koncepcijas, o viena iš tokių yra „Java“ keičiama ir nekintama. Na, ši koncepcija remiasi pakeitimais laukuose po objekto sukūrimo ir taip palengvina programavimą . Taigi šiame straipsnyje apie kintamą ir nekintamą „Java“ aptarsiu šias temas:

Kas yra kintamas objektas?





Objektai, kuriuose sukūrus objektą galite pakeisti laukus ir būsenas, yra žinomi kaip kintantys objektai. Pavyzdys : java.util.Date, StringBuilder ir kt.

Kas yra nekintamas objektas?



objektai kuriuose nieko negalite pakeisti sukūrę objektą, vadinami nekintamais objektais. Pavyzdys : Dėžutėje esantys primityvūs objektai, tokie kaip sveikasis skaičius, ilgasis ir kt.

Taigi, dabar, kai žinote, kas yra java ir nekeičiama „Java“, eikime į priekį ir pamatysime šių dviejų skirtumus.

filtrų tipai lentoje

Skirtumas tarp kintamų ir nekintamų objektų



Šioje lentelėje galite rasti „Java“ kintamų ir nekintamų objektų skirtumus.

Kintamas Nekintamas
Laukus galima pakeisti sukūrus objektąSukūrus objektą laukų pakeisti negalima
Paprastai pateikia lauko vertės modifikavimo metodąNeturi jokio lauko vertės modifikavimo metodo
Turi Getter ir Setter metodusTuri tik Getter metodą
Pavyzdys: StringBuilder, java.util.DatePavyzdys: eilutės, dėžutės formos primityvūs objektai, tokie kaip sveikasis skaičius, ilgasis ir kt

Dabar, kai žinote skirtumus tarp kintamų ir nekintamų objektų, panagrinėkime, kaip juos sukurti klasės.

Kaip sukurti „Kintamą klasę“?

Norėdami sukurti kintamą „Java“ klasę, turite įsitikinti, kad laikomasi šių reikalavimų:

  1. Pateikite metodą modifikuoti lauko reikšmes
  2. „Getter and Setter“ metodas

Apsvarstykite šį kodą:

paketo edureka viešosios klasės pavyzdys {private String Coursename example (String Coursename) {this.coursename = Coursename} public String getName () {return Coursename} public void setName (String Coursename) {this.coursename = coursename} public static void main (String [] args) {pavyzdys obj = naujas pavyzdys ('Mašininis mokymasis') System.out.println (obj.getName ()) // atnaujinkite vardą, šis objektas yra keičiama obj.setName ('Mašinų mokymosi meistrų') sistema. out.println (obj.getName ())}}

Matysite tokį išėjimą:

c ++ rūšiavimo metodas

Kintamojo objekto išvestis - „Java- Edureka“ keičiamas ir nekintamas

Taigi dabar, kai žinote, kaip sukurti kintamą klasę, toliau šiame straipsnyje leiskite mums pasidomėti, kaip sukurti nekintamą klasę.

Kaip sukurti nekintamą klasę?

Norėdami sukurti nekintamą „Java“ klasę, turite įsitikinti, kad laikomasi šių reikalavimų:

  1. Klasė turėtų būti deklaruojama kaip galutinis kad jo nebūtų galima pratęsti.
  2. Visi laukai turėtų būti privatūs, kad nebūtų leidžiama tiesiogiai patekti
  3. Jokių seterių metodų
  4. Padarykite visus keičiamus laukus galutinius, kad juos būtų galima priskirti tik vieną kartą.
paketas „edureka public class exampleimmutable“ {private final String Coursename exampleimmutable (final String Coursename) {this.coursename = coursename} public final String getName () {return Coursename} public static void main (String [] args) {example obj = new example ( „Mašininis mokymasis“) System.out.println (obj.getName ())}}

Matysite žemiau pateiktą išvestį:

Gerai, todėl dabar, kai žinote apie kintamus ir nekintamus objektus, leiskite man pasakyti, kad stygos yra nekeičiamos „Java“. Dabar esu įsitikinęs, kad tai galėjo kelti klausimą, kodėl stygos nekeičiamos „Java“. Taigi, toliau šiame straipsnyje, pažvelkime į tą patį.

Kodėl stygos yra nekintamos „Java“?

Java naudoja sąvokas . Taigi, jei atsižvelgsite į pavyzdį, kai turite daug pamatinių kintamųjų, nurodančių vieną objektą, net jei vienas referencinis kintamasis pakeičia objektas , automatiškai bus paveikti visi kiti pamatiniai kintamieji. Be to, pasak Veiksminga „Java“ ,4 skyrius, 73 psl., 2-asis leidimas, yra šios priežastys, kodėl reikia naudoti nekintamas klases:

  • Nekintami objektai yra paprasti
  • Šiems objektams nereikia sinchronizuoti, todėl jie savaime yra saugūs
  • Nepastebimi objektai yra geri statybiniai elementai kitiems objektams

Jei turiu paaiškinti jums pavyzdį,

Sakykime, kad turite kintamąjį mėginių rinkimas , kuriame saugoma eilutė „ Mašininis mokymasis “. Dabar, jei susiejate šią eilutę su kita eilute ' Meistrai ', tada objektas, sukurtas Mašininis mokymasis “Nesikeis. Vietoj to bus sukurtas naujas objektas Mašinų mokymosi meistrai “. Žiūrėkite žemiau esantį vaizdą:

ssis pamoka pradedantiesiems 2012 su pavyzdžiais

Kaip matote aukščiau esančiame paveikslėlyje, mėginių rinkimas referencinis kintamasis nurodo „mašininį mokymąsi“, bet ne kitą eilutę, net sukūrus du objektus. Tuo mes baigėme šį straipsnį apie „Java“ keičiamus ir nekintamus. Tikiuosi, kad jūs, vaikinai, aiškiai suprantate kiekvieną aspektą, kurį aptariau aukščiau.

Dabar, kai supratote „Java“ pagrindus, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka“ mokymai ir sertifikavimo kursai „Java J2EE“ ir „SOA“ skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žaisti „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio „Kintamas ir nekintamas„ Java “komentarų skyriuje, ir mes kuo greičiau susisieksime su jumis.