swimdata.java

来自「源码为科学出版社出版的英文<java设计模式>(影印版)所用的所有例」· Java 代码 · 共 36 行

JAVA
36
字号
import java.util.*;
import java.io.*;

//abstract class defining interface and deep clone routine
public abstract class SwimData 
implements Cloneable , Serializable
{
public abstract int size();
public abstract Swimmer getSwimmer(int i);
public abstract String getName(int i);
public abstract void sort();
public abstract void setFemale(boolean f);
//-------------------------------------------
   public SwimData deepClone()
   {
      try {
         ByteArrayOutputStream b = new ByteArrayOutputStream();

         ObjectOutputStream out = new ObjectOutputStream(b);

         out.writeObject(this);
         ByteArrayInputStream bIn = new ByteArrayInputStream(b.toByteArray());

         ObjectInputStream oi = new ObjectInputStream(bIn);

         return((SwimData)oi.readObject());
      }
      catch (Exception e) {
         System.out.println("exception:"+e.getMessage());
         e.printStackTrace();
         return null;
      }

   }
   }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?