Kas ir Java objekts un kā to izmantot?



Java objekts ir reālās pasaules vienība, kurai ir savs īpašums un uzvedība. Uzziniet visu par Java objektiem un to veidošanu dažādos veidos.

Java ir . Citiem vārdiem sakot, gandrīz viss Java valodā tiek uzskatīts par objektu. Tādējādi, programmējot Java, jāzina visi iespējamie objektu veidošanas veidi Java. Bet pirms ienirt dziļāk objektos, jums jāzina jēdziens Java klases un kā objekti ir saistīti ar tiem.

Šajā amatā mēs aplūkosim 5 dažādus veidus, kā izveidot objektus Java, un izprotam visus būtiskos jēdzienus, kas nepieciešami, lai izprastu metodes.





  1. Izveidojiet objektus, izmantojot ‘new’ atslēgvārdu
  2. Objektu izveide, izmantojot metodi clone ()
  3. Izveidojiet objektus, izmantojot klases newInstance () metodi
  4. Izveidojiet objektus, izmantojot deserializāciju
  5. Izveidojiet objektus, izmantojot konstruktora klases metodi newInstance ()

Sāksim.



Izveidojiet objektus, izmantojot ‘new’ atslēgvārdu

Programmējot Java valodā, iespējams, noteikti esat atradis ‘jauno’ atslēgvārdu. Tas ir atslēgvārds, ko izmanto, lai izveidotu objektu, kuram tiek dinamiski piešķirta atmiņa, t.i., atmiņa šiem objektiem tiek piešķirta izpildlaikā. Un šī dinamiskā piešķiršana ir nepieciešama lielāko daļu laika, veidojot objektus. Tādēļ šo metodi izmanto biežāk nekā citus.

Sintakse : ClassName ObjectName = new classConstructor ()



public class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

Izeja- Sveika pasaule

Šo objektu izveides metodi Java var izmantot ar jebkuru vajadzīgās klases konstruktoru, ja klasei ir vairāk nekā 1 celtnieks .

Izveidojiet objektus, izmantojot clone () metodi

Ko darīt, ja objektam, kuru mēs vēlamies izveidot, jābūt jau esoša kopijai ? Tādā gadījumā mēs varam izmantot klona () metodi. clone () ir objektu klases daļa, bet to nevar tieši izmantot, jo tā ir aizsargāta metode.

kas ir init pitonā

metodi clone () var izmantot tikai pēc Cloneable saskarnes ieviešanas un apstrādesCloneNotSupportedException.

klases ziņojums ievieš Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} publiskā objekta klons () izmet CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) izmet CloneNotSupportedException {Ziņojums FirstObj = jauns ziņojums () System.out.println (FirstObj.FirstString) Ziņojums SecondObj = (Ziņojums) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Laipni lūdzam programmēšanas 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Izeja-

Sveika pasaule

Sveika pasaule

Laipni lūdzam programmēšanas pasaulē

Sveika pasaule

Iepriekš minētajā programmā mēs izveidojām jau esošā objekta kopiju. Lai pārliecinātos, vai abi nenorāda uz to pašu atmiņas vietu, bija svarīgi mainīt ‘FirstString’ vērtību otrajam objektam un pēc tam izdrukāt tā vērtību abiem objektiem.

Izveidojiet objektus, izmantojot klases Class newInstance () metodi

Šo metodi objektu izveidošanai bieži neizmanto. Šo objekta izveides metodi izmanto, ja mēs zinām klases nosaukumu un noklusējuma konstruktors ir publiska rakstura. Lai izmantotu šo metodi objektu izveidošanai, mums jārīkojas ar 3 izņēmumiem

ClassNotFoundException- Šis izņēmums rodas, ja JVM nespēj atrast klasi, kas tiek nodota kā arguments.

InstantiationException- Šis izņēmums rodas, ja dotajā klasē nav noklusējuma konstruktora.

IllegalAccessException- Šis izņēmums rodas, ja mums nav piekļuves norādītajam klasē .

Kad mēs rūpējamies par šiem izņēmumiem, mums ir labi iet.

class ObjectCreation {String FirstString = 'Sveika pasaule' publiskā statiskā tukšuma galvenā (virkne [] argumenti) {mēģiniet {Klases ziņojums = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} catch (ClassNotFoundException e) {e.printStackTrace ()} catch (InstantiationException e) {e.printStackTrace ()} catch (IllegalAccessException e) {e.printStackTrace ()}}}}

Izeja- Sveika pasaule

Izveidojiet objektus, izmantojot deserializāciju

Java serializācija tiek izmantota, lai objekta pašreizējo stāvokli pārveidotu baitu straumē. deserializācija ir tieši pretēja, jo mēs objektu atjaunojam, izmantojot baitu plūsmu. Serializācijas procesam mums jāievieš Serializējamais interfeiss. Izņēmumu apstrāde jāveic, lai izveidotu objektus, izmantojot šo metodi.

ObjectInputStream objectInputStream = jauns ObjectInputStream (inputStream) Klases nosaukums object = (klases nosaukums) objectInputStream.readObject ()

Izveidojiet objektus, izmantojot konstruktora klases newInstance () metodi

Mēs redzējām klases Class newInstance metodi, kuru izmantojām objekta izveidošanai. Līdzīgi klases konstruktors sastāv arī no newInstance () metodes, kuru var izmantot objektu izveidošanai. Citi var noklusējuma konstruktori ar šīs metodes palīdzību, ko mēs varam arī izsaukt parametrizēti konstruktori .

importēt java.lang.reflect. * public class ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { mēģiniet {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Laipni lūdzam programmēšanas pasaulē') System.out.println (objectCreation.FirstString)} catch (izņēmums e) { e.printStackTrace ()}}}

Izeja-

Laipni lūdzam programmēšanas pasaulē

Tie ir 5 dažādi veidi, kā izveidot objektus daži tiek izmantoti biežāk nekā citi. Katrai metodei ir savas priekšrocības un trūkumi. Galu galā izvēle ir jūsu ziņā.

Java ir interesanta valoda, taču tā kļūst grūts, ja pamatprincipi nav skaidri. Lai sāktu, jūsu mācīšanās un visu prasmju apguve, kas saistītas ar java tehnoloģiju, iestājas programmā un atraisiet sevī java izstrādātāju.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī raksta “Java objekti” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.