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

  • 相关阅读:
    springboot+mybatis实现逆向工程
    关于cookie,session和token
    fiddler手机抓包配置
    js json按key值排序
    关于CSS和CSS3的布局小知识(干货)
    移动端手机上传图片处理
    nginx|gzip_static 安装
    Vue npm run serve linux 持久运行
    Web前端开发标准规范总结
    liunx启动node服务(nodejs+express+mysql+pm2)
  • 原文地址:https://www.cnblogs.com/draem0507/p/2864554.html
Copyright © 2011-2022 走看看