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