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:
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.