Kako kopiram predmet v Javi

Kako Kopiram Predmet V Javi



V Javi pride do kopiranja predmeta, kjer je treba uporabiti že implementirane funkcionalnosti v kodi, namesto da bi jih znova uporabili iz nič. Prav tako je v pomoč, ko gre za posodabljanje podatkov na podlagi vsebovanih zapisov. Na ta način zmanjša kompleksnost kode in učinkovito uporabo virov.

Ta članek bo prikazal pristope za kopiranje predmeta v Javi.

Kako kopiram predmet v Javi?

Objekt je mogoče kopirati v Javi z naslednjimi pristopi:







Dostopajte do vseh razredov znotraj » java.util ” pred prehodom na primere:



uvoz java. util . *;

Pristop 1: Kopiranje predmeta v Javi z uporabo “Copy Constructor”

' Konstruktor Kopiraj ” ustvari/definira objekt s sklicevanjem na isti objekt razreda, ki je bil ustvarjen prej.



Primer
Naslednji primer uporablja »konstruktor kopiranja« za kopiranje predmeta:





javnosti razred CopyObject {
int id ;
Vrvica mesto ;
CopyObject ( int id , Vrvica mesto ) {
to . id = id ;
to . mesto = mesto ; }
CopyObject ( Objekt CopyObject ) {
to . id = predmet. id ;
to . mesto = predmet. mesto ; }
javnosti praznina zaslon ( ) {
Sistem. ven . println ( 'ID ->' + to . id ) ;
Sistem. ven . println ( 'Mesto ->' + to . mesto ) ; }
javnosti statična praznina glavni ( Vrvica [ ] args ) {
Vnos skenerja = novo Skener ( Sistem. v ) ;
Sistem. ven . println ( 'Vnesite ID:' ) ;
int id = vnos. naslednjiInt ( ) ;
Sistem. ven . println ( 'Vstopite v mesto:' ) ;
Vrvica mesto = vnos. Naslednji ( ) ;
CopyObject object1 = novo CopyObject ( id , mesto ) ;
CopyObject object2 = novo CopyObject ( objekt1 ) ;
Sistem. ven . println ( 'Privzeti predmet ->' ) ;
objekt1. zaslon ( ) ;
Sistem. ven . println ( 'Kopiran predmet ->' ) ;
objekt2. zaslon ( ) ;
vnos. blizu ( ) ;
} }

V zgornjem delčku kode:

  • Ustvarite razred z imenom ' CopyObject ”.
  • Določite navedene spremenljivke člane razreda.
  • Po tem ustvarite parametrizirani konstruktor razreda, ki dodeli posredovane vrednosti navedenim spremenljivkam prek ' to ”.
  • Zdaj ustvarite ' Konstruktor Kopiraj ”, ki vzame že ustvarjen objekt vrste razreda kot svoj parameter, ki bo pozneje posredovan kot argument.
  • Definirajte tudi funkcijo ' prikaz() «, ki prikazuje vrednosti posredovanih objektov.
  • V ' glavni () ' naredite objekt 'Scanner', da omogočite vnos uporabnika prek ' System.in ” parameter.
  • Povežite tudi » nextInt() « in » Naslednji() ” metode za sprejemanje uporabniških vnosov celega števila oziroma niza.
  • Ustvarite predmet razreda prek » novo ' ključna beseda in ' CopyObject() ” konstruktor, ki ima kot argumente uporabniške vnesene vrednosti.
  • Prav tako ustvarite objekt kopije, ki ima ustvarjeni objekt kot svoj argument za vrnitev kopirane vsebine s sklicevanjem na konstruktor kopije razreda.
  • Nazadnje pokličite » prikaz() ” funkcijo za prikaz prenesenih vrednosti uporabniškega vnosa in zapiranje “Skenerja”.

Izhod



V tem izhodu je mogoče implicirati, da je objekt kopije ustvarjen in ustrezno prikazan.

Pristop 2: Kopiranje predmeta v Javi prek metode »clone()«.

' klon() ' metoda ' java.lang.Object ” razred vzame predmet kot parameter, ustvari in poda njegovo kopijo. To metodo je mogoče implementirati za kopiranje predmeta s sklicevanjem na že ustvarjen objekt (ki ga je treba kopirati) in metodo »clone()«.

Sintaksa

predmet. klon ( )

Ta metoda daje kopijo predmeta in vrže ' CloneNotSupportedException «, če razred predmeta ne izvaja/uporablja vmesnika »Cloneable«.

Primer
Pojdite skozi spodnje vrstice kode:

javnosti razred CopyObject pripomočke Klonirati {
int id ;
Vrvica mesto ;
CopyObject ( int id , Vrvica mesto ) {
to . id = id ;
to . mesto = mesto ;
}
javnosti praznina zaslon ( ) {
Sistem. ven . println ( 'ID ->' + to . id ) ;
Sistem. ven . println ( 'Mesto ->' + to . mesto ) ;
}
javnosti statična praznina glavni ( Vrvica [ ] args ) vrže CloneNotSupportedException {
Vnos skenerja = novo Skener ( Sistem. v ) ;
Sistem. ven . println ( 'Vnesite ID:' ) ;
int id = vnos. naslednjiInt ( ) ;
Sistem. ven . println ( 'Vstopite v mesto:' ) ;
Vrvica mesto = vnos. Naslednji ( ) ;
CopyObject object1 = novo CopyObject ( id , mesto ) ;
Sistem. ven . println ( 'Privzeti predmet ->' ) ;
objekt1. zaslon ( ) ;
Sistem. ven . println ( 'Kopiran predmet ->' ) ;
CopyObject object2 = ( CopyObject ) objekt1. klon ( ) ;
objekt2. zaslon ( ) ;
vnos. blizu ( ) ;
} }

V skladu z zgornjim blokom kode izvedite spodnje korake:

  • Spomnite se obravnavanih pristopov za definiranje razreda, določanje spremenljivk člana, ustvarjanje parametriziranega konstruktorja razreda (dodeljevanje posredovanih vrednosti) in definiranje funkcije za prikaz vrednosti.
  • Zdaj, v ' glavni () «, podobno uporabnik vnese vrednosti in te vrednosti posreduje ustvarjenemu predmetu razreda ter jih prikaže prek ustrezne funkcije.
  • Po tem je ' klon() ” začne veljati metoda, ki je povezana z že ustvarjenim objektom za ustvarjanje kopije objekta.
  • Na koncu prikažite tudi vsebino kopiranega predmeta prek obravnavane funkcije.

Izhod

V tem izidu je mogoče opaziti, da so vrednosti vnosa uporabnika vrnjene dvakrat z enakimi izidi, kar zagotavlja, da je objekt razreda ustrezno kopiran.

Zaključek

Objekt je mogoče kopirati v Javi z uporabo ' Konstruktor Kopiraj ', ali ' klon() ” metoda. Prvi pristop kopira objekt tako, da vzame že ustvarjen objekt kot argument konstruktorja kopiranja. Slednji pristop je neposredno povezan z ustvarjenim predmetom razreda. Ta zapis je pokazal pristope za kopiranje predmeta v Javi.