创建对象的四种方式
来源:互联网 发布:音乐相册制作软件排名 编辑:程序博客网 时间:2024/06/05 14:36
package onlyfortest;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class Main implements Cloneable, Serializable { private static final long serialVersionUID = 1L; public Main() { System.out.println("构造函数"); } public static void main(String[] args) { Main a = new Main(); Main b; Main c; Main d; try { b = Main.class.newInstance(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { c = (Main) a.clone(); if (a != c) { System.out.println("克隆对象不使用同一片内存,且不需要调用构造函数"); } } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } /** * 简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。 * 在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体 * (类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。 * 当实现java * .io.Serializable接口的实体(类)没有显式地定义一个名为serialVersionUID,类型为long的变量时, * Java序列化机制会根据编译的class自动生成一个serialVersionUID作序列化版本比较用, * 这种情况下,只有同一次编译生成的class才会生成相同的serialVersionUID */ try { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("MainBean.txt")); out.writeObject(a); ObjectInputStream in = new ObjectInputStream(new FileInputStream("MainBean.txt")); d = (Main) in.readObject(); if (a != d) { System.out.println("反序列化后对象不使用同一片内存,且不需要调用构造函数"); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
阅读全文
0 0
- java创建对象的四种方式
- javascript的四种创建对象方式
- Java 创建对象的四种方式
- Java创建对象的四种方式
- Java创建对象的四种方式
- JavaScript创建对象的四种方式
- 创建对象的四种方式
- JavaScript创建对象的四种方式
- Java 创建对象的四种方式
- java创建对象的四种方式
- Java 创建对象的四种方式
- java创建对象的四种方式
- JAVA创建对象的四种方式
- 创建对象的四种方式
- Java中创建对象的四种方式
- 黑马程序员_9_Java创建对象的四种方式
- Java中创建对象的四种方式
- Java中创建对象的四种方式
- ProcessManager类的解读
- Qt创建具有复选框的树形控件
- Predix微服务介绍
- 线程安全及不可变性
- WEB-INF目录解析
- 创建对象的四种方式
- JSONP详解
- 独家 | 两个月上手AI的学习经验(附学习资源)
- Visual Studio 2015中ucrtbased.dll丢失
- Ofbiz中的.groovy文件
- 获取两个日期之间相差的天/时/分/秒
- 上传本地代码到github
- 一小时包教会 —— webpack 入门指南
- java程序员从笨鸟到菜鸟之(十)形式参数和返回值问题