序列化??what??一头雾水,一番了解后,知道了其可以把类的对象以文件流的形式存储为文本,达到持久化存储对象的结果。。更复杂的应用留待以后。。。
package homework;
import java.io.*;
public class xuLieHuaTest {
public static void main(String[] args){
Fruit[] fruit = new Fruit[3];
Apple redApple = new Apple("RedApple");
Apple greenApple = new Apple("GreenApple");
fruit[0] = new Fruit("FreshFruit");
fruit[1] = redApple;
fruit[2] = greenApple;
try{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("fruit.dat"));
out.writeObject(fruit);
out.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream("fruit.dat"));
Fruit[] newFruit = (Fruit[]) in.readObject();
in.close();
for(Fruit e : newFruit){
System.out.println(e);
}
}
catch(Exception s){
s.printStackTrace();
}
}
}
class Fruit implements Serializable {
public Fruit(String name){
this.name = name;
}
public String howToEat(){
return "Eat it fresh";
}
public String getName(){
return name;
}
public String toString(){
return getClass().getName()+": "+getName();
}
private String name;
}
class Apple extends Fruit implements Sweet{
public Apple(String n){
super(n);
}
public String itsSize(){return "its size is not big or small";}
public String itsWeight(){return "its weight is between 200g and 300g";}
public String itsColor(){return "red,green,sun and so on";}
public String isSweet(){return "all most is sweet";}
public String isHeathy(){return "it is heathy";}
public String howMuch(){
return "Each one cost 3 yuan";
}
public String toString(){
return super.toString()+"-- "+isHeathy()+","+ itsSize();//+":"+getName();
}}
interface shape{
public String itsSize();
public String itsWeight();
}
interface Apperence{
public String itsColor();
public String isHeathy();
}
interface Sweet extends shape,Apperence{
public String isSweet();
}