⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transientexam.java

📁 Java程序设计实用教程源代码 本书源代码按章分别放置在不同的文件夹中,所有程序均在JDK1.6环境下编译运行正常,除了第13章需要建立ODBC数据源之外,其他程序只要有Java运行环境即可直接运行
💻 JAVA
字号:
import java.io.*;
import java.awt.geom.*; 
public class transientExam {
  public static void main(String[] args) {
    LabeledPoint label = new LabeledPoint("少林寺", 10.213, 25.49);
    try {
      System.out.println("以下信息将被序列化并写入数据文件:"); 
      System.out.println(label); //写入前
      ObjectOutputStream out = new ObjectOutputStream(new
          FileOutputStream("Label.dat"));
      out.writeObject(label);
      out.close();
      ObjectInputStream in = new ObjectInputStream(new
          FileInputStream("Label.dat"));
      LabeledPoint label1 = (LabeledPoint) in.readObject();
      in.close();
      System.out.println("以下信息是从数据文件中恢复出来的:"); 
      System.out.println(label1); //读出
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}
class LabeledPoint implements Serializable {
  private String label;
  transient private Point2D.Double point;  //transient变量
  public LabeledPoint(String str, double x, double y) {
    label = str;
    point = new Point2D.Double(x, y);
  }
  private void writeObject(ObjectOutputStream out) throws IOException {
    //调用defaultWriteObject()方法写入对象的描述以及那些可以被序列化的字段
    out.defaultWriteObject();
    out.writeDouble(point.getX());
    out.writeDouble(point.getY());
  }
  private void readObject(ObjectInputStream in) throws IOException,
      ClassNotFoundException {
    //调用defaultReadObject()方法
    in.defaultReadObject();
    double x = in.readDouble();
    double y = in.readDouble();
    point = new Point2D.Double(x, y);
  }
  public String toString() {
    return "label = " + label + ", Point ("
                     + point.getX() + ", " + point.getY() + ")";
  }
}

⌨️ 快捷键说明

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