这里一共整理了四种方法

①用类的new ()创建

②用clone方法创建, 需要类实现 Cloneable 接口

③通过反射机制创建

④将一个对象实例化后,进行序列化,再反序列化

下面是实现代码

1)用类的new ()创建

User user = new User();

2)用clone方法创建, 需要类实现 Cloneable 接口
User user2 = (User) user1.clone();
3)用 Class.forName方法获取类,在调用类的newinstance()方法

Class<?> cls =null;
User u = null;
try {
cls = Class.forName("com.dao.User");
u = (User)cls.newInstance();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}

4)将一个对象实例化后,进行序列化,再反序列化,也可以获得一个对象(远程通信的场景下使用)

try{
ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream("D:/objectUser.txt"));
//序列化对象
out.writeObject(user1); //"Kong zi", "13800010001", "Greatwalk"
out.close();
//反序列化对象
ObjectInputStream in = new ObjectInputStream(new FileInputStream("D:/objectUser.txt"));
User user4 = (User) in.readObject();
System.out.println("反序列化user:" + user4);
in.close();
}
catch(ClassNotFoundException e ){
e.printStackTrace();
}
catch(FileNotFoundException e ){
e.printStackTrace();
}
catch(IOException e ){
e.printStackTrace();
}

java实例化对象的几种方式的更多相关文章

  1. Java反射02 : Class对象获取的三种方式和通过反射实例化对象的两种方式

    1.Class对象获取的三种方式 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79361463 上一章节已经说过,一般情况下,Jav ...

  2. 【java】实例化对象的3种方式:new、clone、反射

    实例化对象的3种方式:new.clone.反射

  3. Java中创建实例化对象的几种方式

    Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用 ...

  4. C#实例化对象的三种方式及性能对比

    前言 做项目过程中有个需求要实例化两万个对象并添加到List中,这个过程大概需要1min才能加载完(传参较多),于是开启了代码优化之旅,再此记录. 首先想到的是可能实例化比较耗时,于是开始对每种实例化 ...

  5. JAVA实例化class的三种方式

    不多说  直接上例子 package org.lxh.demo15.getclassdemo ; class X{ }; public class GetClassDemo02{ public sta ...

  6. java实例化对象的五种方法

    1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反射手段,调用java.lang.Cla ...

  7. java实例化对象的方式

    一.Java中创建(实例化)对象的五种方式  1.用new语句直接创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); ...

  8. Java中创建(实例化)对象的五种方式

    Java中创建(实例化)对象的五种方式1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反 ...

  9. Java反射机制(创建Class对象的三种方式)

    1:了解什么是反射机制? 在通常情况下,如果有一个类,可以通过类创建对象:但是反射就是要求通过一个对象找到一个类的名称:   2:在反射操作中,握住一个核心概念: 一切操作都将使用Object完成,类 ...

随机推荐

  1. mysql5.7免安装版配置

    解压之后,新建一个my.ini 内容是: [mysql] # 设置mysql客户端默认字符集 default-character-set = utf8 [mysqld] #安装目录 basedir = ...

  2. 终止过久没有返回的 Windows API 函数 ---- “CancelSynchronousIo”

    Marks pending synchronous I/O operations that are issued by the specified thread as canceled. BOOL W ...

  3. 为什么要你们现在要学习python

    说学习python之前,我们先来聊聊其他的.我们都认为成功靠的是勤奋和努力,但是事实是只靠勤奋和努力是不一定会成功的,而且很大一部分都不会成功. 你有没有想过,同样是做企业,有些公司年收入百万,而腾讯 ...

  4. js的属性监听

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8">     <title ...

  5. 计算4的n次幂html代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【Linux常见命令】ls命令

    ls - list directory contents ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录). 语法:  ls [OPTION]... [FILE]...  l ...

  7. 如何迅速分析出系统CPU的瓶颈在哪里?

    内容出自极客时间专栏<Linux 性能优化实战> CPU 的性能指标那么多,CPU 性能分析工具一抓一大把,换成实际的工作场景,该观察什么指标.选择哪个性能工具呢? 不要担心,今天我就以多 ...

  8. 怎样借助Python爬虫给宝宝起个好名字

    每个人一生中都会遇到一件事情,在事情出现之前不会关心,但是事情一旦来临就发现它极其重要,并且需要在很短的时间内做出重大决定,那就是给自己的新生宝宝起个名字.因为要在孩子出生后两周内起个名字(需要办理出 ...

  9. 阿里云ECS安装JAVA+MYSQL+NGINX

    2019独角兽企业重金招聘Python工程师标准>>> 1.准备工作 查看linux版本: linux版本为CentOS 7.4 查看系统信息: 系统为64位 确保服务器系统处于最新 ...

  10. Java网络编程从入门到精通(27):关闭服务端连接

    在客户端和服务端的数据交互完成后,一般需要关闭网络连接.对于服务端来说,需要关闭Socket和ServerSocket. 在关闭Socket后,客户端并不会马上感知自已的Socket已经关闭,也就是说 ...