Како да копирам објекат у Јави

Kako Da Kopiram Objekat U Javi



У Јави, копирање објекта ступа на снагу тамо где постоји потреба да се искористе већ имплементиране функционалности у коду уместо да се поново примењују од нуле. Такође, помаже када је у питању ажурирање података на основу садржаних записа. На овај начин смањује сложеност кода и ефикасно коришћење ресурса.

Овај чланак ће показати приступе копирању објекта у Јави.

Како да копирам објекат у Јави?

Објект се може копирати у Јави користећи следеће приступе:







Приступите свим часовима у оквиру „ јава.утил ” пакет пре него што пређемо на примере:



увоз јава. утил . *;

Приступ 1: Копирање објекта у Јави помоћу „Конструктора копирања“

Цопи Цонструцтор ” креира/дефинише објекат позивајући се на исти објекат класе који је претходно креиран.



Пример
Следећи пример примењује „Конструктор копирања“ за копирање објекта:





јавности класа ЦопиОбјецт {
инт ид ;
Низ град ;
ЦопиОбјецт ( инт ид , Низ град ) {
ово . ид = ид ;
ово . град = град ; }
ЦопиОбјецт ( ЦопиОбјецт објецт ) {
ово . ид = објекат. ид ;
ово . град = објекат. град ; }
јавности празнина приказ ( ) {
Систем. оут . принтлн ( 'ИД ->' + ово . ид ) ;
Систем. оут . принтлн ( 'Град ->' + ово . град ) ; }
јавности статична празнина главни ( Низ [ ] аргс ) {
Улаз скенера = Нова Сцаннер ( Систем. ин ) ;
Систем. оут . принтлн ( 'Унесите ИД: ' ) ;
инт ид = улазни. нектИнт ( ) ;
Систем. оут . принтлн ( 'Уђите у град: ' ) ;
Низ град = улазни. следећи ( ) ;
ЦопиОбјецт објецт1 = Нова ЦопиОбјецт ( ид , град ) ;
ЦопиОбјецт објецт2 = Нова ЦопиОбјецт ( објекат1 ) ;
Систем. оут . принтлн ( „Подразумевани објекат ->“ ) ;
објекат1. приказ ( ) ;
Систем. оут . принтлн ( 'Копирани објекат ->' ) ;
објекат2. приказ ( ) ;
улазни. Близу ( ) ;
} }

У горњем исечку кода:

  • Направите класу под називом „ ЦопиОбјецт ”.
  • Наведите наведене променљиве члана класе.
  • Након тога, креирајте параметризовани конструктор класе који додељује прослеђене вредности наведеним варијаблама преко „ ово ”.
  • Сада креирајте „ Цопи Цонструцтор ” који узима већ креирани објекат типа класе као свој параметар који ће касније бити прослеђен као аргумент.
  • Такође дефинишите функцију „ приказ() ” који приказује прослеђене вредности објекта.
  • У „ главни() ”, направите објекат „Скенер” да бисте омогућили унос корисника преко „ Систем.ин ” параметар.
  • Такође, удружите „ нектИнт() ' и ' следећи() ” за узимање целобројних и стринг корисничких уноса, респективно.
  • Креирајте објекат класе преко „ Нова ” кључна реч и „ ЦопиОбјецт() ” конструктор који има вредности за унос корисника као аргументе.
  • Такође, креирајте објекат копије који има креирани објекат као аргумент да бисте вратили копирани садржај позивајући се на конструктор копирања класе.
  • На крају, позовите „ приказ() ” за приказ вредности које је унео корисник и затварање „Скенера”.

Излаз



У овом излазу, може се имплицирати да је објекат копије креиран и приказан у складу са тим.

Приступ 2: Копирање објекта у Јави путем методе “цлоне()”.

клон () „метод „ јава.ланг.Објецт ” класа узима објекат као параметар, креира и даје његову копију. Овај метод се може применити за копирање објекта упућивањем на већ креирани објекат (који треба да се копира) и методу „клон()”.

Синтакса

објекат. клон ( )

Овај метод даје копију објекта и избацује „ ЦлонеНотСуппортедЕкцептион ” ако класа објекта не имплементира/примени интерфејс „Цлонеабле”.

Пример
Прођите кроз доње редове кода:

јавности класа ЦопиОбјецт имплементира Цлонеабле {
инт ид ;
Низ град ;
ЦопиОбјецт ( инт ид , Низ град ) {
ово . ид = ид ;
ово . град = град ;
}
јавности празнина приказ ( ) {
Систем. оут . принтлн ( 'ИД ->' + ово . ид ) ;
Систем. оут . принтлн ( 'Град ->' + ово . град ) ;
}
јавности статична празнина главни ( Низ [ ] аргс ) баца ЦлонеНотСуппортедЕкцептион {
Улаз скенера = Нова Сцаннер ( Систем. ин ) ;
Систем. оут . принтлн ( 'Унесите ИД: ' ) ;
инт ид = улазни. нектИнт ( ) ;
Систем. оут . принтлн ( 'Уђите у град: ' ) ;
Низ град = улазни. следећи ( ) ;
ЦопиОбјецт објецт1 = Нова ЦопиОбјецт ( ид , град ) ;
Систем. оут . принтлн ( „Подразумевани објекат ->“ ) ;
објекат1. приказ ( ) ;
Систем. оут . принтлн ( 'Копирани објекат ->' ) ;
ЦопиОбјецт објецт2 = ( ЦопиОбјецт ) објекат1. клон ( ) ;
објекат2. приказ ( ) ;
улазни. Близу ( ) ;
} }

У складу са горњим блоком кода, извршите доле наведене кораке:

  • Присетите се разматраних приступа за дефинисање класе, специфицирање променљивих чланова, креирање параметризованог конструктора класе (додељивање прослеђених вредности) и дефинисање функције за приказивање вредности, респективно.
  • Сада у ' главни() “, на сличан начин, корисник уноси вредности и прослеђује ове вредности креираном објекту класе и приказује их преко одговарајуће функције.
  • Након тога, „ клон () ” ступа на снагу метода која је повезана са већ креираним објектом за креирање објекта копије.
  • На крају, прикажите и садржај копираног објекта путем разматране функције.

Излаз

У овом исходу, може се приметити да се вредности уноса корисника враћају два пута са идентичним исходима, обезбеђујући да се објекат класе правилно копира.

Закључак

Објекат се може копирати у Јави помоћу „ Цопи Цонструцтор ', или ' клон () ” метод. Први приступ копира објекат узимајући већ креирани објекат као аргумент конструктора копирања. Последњи приступ је директно повезан са креираним објектом класе. Овај текст је показао приступе копирању објекта у Јави.