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

    /**
     * <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);
        }
    }

    关于clone的介绍:http://www.blogjava.net/jerry-zhaoj/archive/2009/10/14/298141.html

  • 相关阅读:
    结对编程2—单元测试
    个人作业2—英语学习APP案例分析
    结对作业--基于GUI的四则运算生成器
    基于控制台的四则运算
    关于软件工程这门课
    个人作业3——个人总结(Alpha阶段)
    结对编程2——单元测试
    个人作业2——英语学习APP案例分析
    结对作业--基于GUI的四则运算生成器
    个人作业一
  • 原文地址:https://www.cnblogs.com/draem0507/p/2864554.html
Copyright © 2011-2022 走看看