Java nodrošina divu veidu
Java atsauces veidi
Java ir šādi pieci atsauces veidu veidi:
python sakārtots kortežs
Atsauces veids | Apraksts |
---|---|
Klase | Tas ir instrukciju kopums. Tas apraksta objekta saturu. |
Masīvs | Tas nodrošina fiksēta izmēra datu struktūru, kurā tiek glabāti viena veida elementi. |
Anotācijas | Tas nodrošina veidu, kā saistīt metadatus ar programmas elementiem. |
Interfeiss | To īsteno Java klases. |
Uzskaitījums | Tas ir īpašs klases veids, kas ir drošs tipam. Katrs enum elements ir šī saraksta gadījums. |
Atsauces un primitīvo datu tipi
Atsauces veids | Primitīvais tips |
---|---|
Tas nav iepriekš definēts, izņemot virkni. | Tas ir iepriekš definēts Java. |
Visi atsauces veidi sākas ar lielo burtu. | Visi primitīvie veidi sākas ar mazo burtu. |
Neprimitīvajiem tipiem ir vienādi izmēri. | Primitīvā tipa lielums ir atkarīgs no datu veida. |
To izmanto, lai izsauktu vai izsauktu metodes. | Mēs nevaram izsaukt metodi ar primitīvu tipu. |
Tas var būt nulle. | Tas nevar būt nulle. Tam vienmēr ir vērtība. |
Atsauces datu tipu piemēri ir klase, masīvi, virkne, interfeiss utt. | Primitīvo datu tipu piemēri ir int, float, double, Boolean, long utt. |
Pēc noklusējuma JVM katram atsauces mainīgajam piešķir 8 baitus. | Tās lielums ir atkarīgs no datu veida. |
Piemērs : Demo d1; | Piemērs : int num=78; |
Atmiņas piešķiršana un atkritumu savākšana
Java valodā, jauns atslēgvārds tiek izmantots, lai izveidotu piemēram klases. Citiem vārdiem sakot, tas veido klasi, piešķirot atmiņa jaunam objektam un atgriežot atsauci uz šo atmiņu. Objekti aizņem atmiņu Java kaudzes telpā. Mēs varam arī izmantot jauno atslēgvārdu, lai izveidotu masīva objekts .
ClassName objectName = new ClassName();
Ja uz objektu nav atsauces, šī objekta izmantoto atmiņu var atgūt atkritumu savākšanas procesa laikā.
Konversija starp primitīvo tipu un atsauces tipu
Tiek izsaukta primitīvā tipa konvertēšana uz atsauces tipu autobokss un tiek izsaukta atsauces tipa pārvēršana par primitīvo tipu izpakošana .
Atsauces veida salīdzināšana
Mēs varam arī salīdzināt Java atsauces veidus. Java piedāvā divus veidus, kā salīdzināt atsauces veidus:
Izmantojot operatoru vienāds (==).
Tas salīdzina objektu atmiņas vietas. Ja abu objektu atmiņas adrese (atsauce) ir vienāda, objekti ir vienādi. Ņemiet vērā, ka tas nesalīdzina objekta saturu. Piemēram:
Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference
Izmantojot String.equals() metodi
Metode pieder pie Stīga klasē. Tas ignorē vienāds () metode Objekts klasē . Tas arī izmanto vienādu operatoru (==), lai salīdzinātu atsauces veidu. Piemēram, apsveriet šādu koda fragmentu:
char tostring java
String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same
Kopēšanas atsauces veids
Ir divas iespējas, kad mēs kopējam atsauces veidus, vai nu tiek izveidota atsauces kopija uz objektu, vai arī tiek izveidota objekta faktiskā kopija (izveidojot jaunu kopiju).
Nākamajā piemērā objektam esam piešķīruši atsauci. Ja objektā veicām kādas izmaiņas, tas atspoguļos arī atsauci un otrādi.
Sum s1 = new Sum(); Sum s2= s1;