zoukankan      html  css  js  c++  java
  • 创建对象的4种方式

    /**
    * <p>
    * Title: 创建对象的四种方式
    * </p>
    *
    *
    * @author lwx
    * @version 1.0
    * @create 2013 1 17 14:03:35
    */
    public class CreateObj implements Cloneable,Serializable{
    private static String filename = CreateObj.class.getResource("").getPath()
    + "/obj.txt";
    static File file = new File(filename);
    static {
    if (!file.exists())
    try {
    file.createNewFile();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }

    public static void main(String[] args) throws Exception {
    // 1.第一种常用方式
    CreateObj s1 = new CreateObj();
    System.out.println(s1);
    // 2.第二种方式 静态方式 java.lang.InstantiationException
    CreateObj s2 = (CreateObj) Class.forName(
    "com.newland.commons.collectionutil.CreateObj").newInstance();
    System.out.println(s2);
    //第三种方式 用对象流来实现 前提是对象必须实现 Serializable
    ObjectOutputStream objectOutputStream = new ObjectOutputStream(
    new FileOutputStream(filename));
    objectOutputStream.writeObject(s2);
    ObjectInput input=new ObjectInputStream(new FileInputStream(filename));
    CreateObj s3 = (CreateObj) input.readObject();
    System.out.println(s3);
    //第四种 clone 必须 实现Cloneable接口 否则抛出CloneNotSupportedException
    CreateObj obj=new CreateObj();
    CreateObj s4= (CreateObj) obj.clone();
    System.out.println(s4);
    }
    }

  • 相关阅读:
    Qt QString to char*
    数组和指针的异同
    QTableWidget的使用和美工总结
    static——第一次执行与它以后执行时结果不一样
    电子签名技术之疑惑
    三十六 多进程
    三十五 序列化
    vs 单元测试
    三十四 操作文件和目录
    三十三 StringIO和BytesIO
  • 原文地址:https://www.cnblogs.com/yver/p/6259537.html
Copyright © 2011-2022 走看看