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

  • 相关阅读:
    【css基础修炼之路】— 谈谈元素的垂直水平居中
    git在linux安装步骤详解!!
    idea :不支持发行版本11问题
    centos7 升级gcc
    mysql--优化
    Docker安装
    使用idea从零编写SpringCloud项目-zuul
    使用idea从零编写SpringCloud项目-Hystrix
    使用idea从零编写SpringCloud项目-Feign
    使用idea从零编写SpringCloud项目-Ribbo
  • 原文地址:https://www.cnblogs.com/draem0507/p/2864554.html
Copyright © 2011-2022 走看看