본문 바로가기
java

자바 파일 복제 해서 쓰는 방법. 객체복제 방법

by 새로운 도전을 위한 한걸음 2015. 5. 10.

하나의 객체를 만들어 놓고 그 객체를 복제해서 사용하는 방법.

리턴을 하지 않아도 만들어 놓은 객체에 값이 저장된다.

 

package test;

import java.util.Enumeration;
import java.util.Hashtable;


public class test1 extends java.util.Hashtable {
 protected String name = null;
 public test1(String str){
  super();
  this.name = str;
 }
 /**
  *
  * @param target org.jsn.jdf.servlet.Box
  */
 public synchronized Object clone()
 {
  test1 test1 = new test1(name);

  Hashtable src = (Hashtable)this;
  Hashtable target = (Hashtable)test1;

  Enumeration e = src.keys();
  while(e.hasMoreElements())
  {
   String key = (String) e.nextElement();
   Object value =  src.get(key);
   target.put(key,value);
  }
  return test1;
 }
}

 

//---------------------------------------------------------------------------------------------------

 

package test;

public class test2  
{
 protected String name = null;
 /**
  *
  */
 
 
 public void str(test1 ts ){
  ts.put("asdf", "111111111");
  str1(ts);
 }
 public void str1(test1 ts ){
  ts.put("aaaaa", "222222");
 }
 public void str4(test1 ts ){
  ts.put("33333", "2322222");
 }
 
 public static void main(String []args){
  test1 aaa= new test1("boxaa");
  
  test2 ts = new test2();
  
  ts.str(aaa);
  System.out.println("-------------- ");
  System.out.println(aaa);
  System.out.println("-------------- ");
  ts.str4(aaa);
  System.out.println(aaa);
  System.out.println("-------------- ");
  System.out.println(aaa);
  System.out.println("-------------- ");
  System.out.println(aaa);
  System.out.println("-------------- ");
  System.out.println(aaa);
  System.out.println("-------------- ");
 }