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

  • 相关阅读:
    MVC模式-----struts2框架(2)
    MVC模式-----struts2框架
    html的<h>标签
    jsp脚本元素
    LeetCode "Paint House"
    LeetCode "Longest Substring with At Most Two Distinct Characters"
    LeetCode "Graph Valid Tree"
    LeetCode "Shortest Word Distance"
    LeetCode "Verify Preorder Sequence in Binary Search Tree"
    LeetCode "Binary Tree Upside Down"
  • 原文地址:https://www.cnblogs.com/draem0507/p/2864554.html
Copyright © 2011-2022 走看看