例11.txt

来自「Java大学实用教程 耿祥义编著 课件 PPT」· 文本 代码 · 共 78 行

TXT
78
字号
import java.io.*;
class Goods implements Serializable 
{  
   String name=null;
   Goods(String name)
   {  
         this.name=name;
   }
   public void setName(String name)
   {  
         this.name=name;
   }
   public String getName()
   {
         return name;
   }
}
class Shop implements Serializable 
{
   Goods goods[ ];
   public void setGoods(Goods s[ ])
   {
     goods=s;
   }
   public Goods[ ] getGoods()
   {
      return goods;
   }
}
public class Example
{ 
   public static void main(String args[ ])
   {  
      Shop shop1=new  Shop();
      Goods s1[]={new Goods("TV"),new Goods("PC")};
      shop1.setGoods(s1);
      try
      {  
             ByteArrayOutputStream   out=new ByteArrayOutputStream();
             ObjectOutputStream  objectOut=new ObjectOutputStream(out);
             objectOut.writeObject(shop1);  
             ByteArrayInputStream in=new ByteArrayInputStream(out.toByteArray());
             ObjectInputStream objectIn=new ObjectInputStream(in);
             Shop shop2=(Shop)objectIn.readObject();
             Goods good1[ ]=shop1.getGoods();
             Goods good2[ ]=shop2.getGoods();
             System.out.println("shop1中的商品:");
             for(int i=0;i<good1.length;i++)
             {
                System.out.println(good1[i].getName());
             }
             System.out.println("shop2是shop1的一个克隆,shop2中的商品:");
             for(int i=0;i<good2.length;i++)
             {
                System.out.println(good2[i].getName());
             }
             Goods s2[]={new Goods("棉花"),new Goods("西服"),new Goods("篮球")};
             shop2.setGoods(s2);
             good1=shop1.getGoods();
             good2=shop2.getGoods();
             System.out.println("目前,shop2中的商品:");
             for(int i=0;i<good2.length;i++)
             {
                System.out.println(good2[i].getName());
             }
             System.out.println("目前,shop1中的商品:");
             for(int i=0;i<good1.length;i++)
             {
                System.out.println(good1[i].getName());
             }
      }
      catch(Exception event)
      {  
         System.out.println(event);
      }
   }
}

⌨️ 快捷键说明

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