1.用new 创建对象,这是最常用的创建对象的方法。

User user1 = new User(2,"青秧");

2.运用反射,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。

Class> c = Class.forName("com.itheima.User");//获取字节码文件对象

User user=(User)c.newInstance();

3.调用对象的clone()方法

clone()表示克隆,使用这个实例化一个对象的前提是:前面已经有一个实例化过的对象

User user1 = new User(2,"青秧");

User user2 = (User) user1.clone();

4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法。

public class Demo01_ObjectOutputStream {

public static void main(String[] args) throws IOException, ClassNotFoundException {

// writeObj();

readObj();

}

public static void writeObj() throws IOException{

//序列化

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("d:\\work\\abc\\person.txt"));

Person p = new Person("柳岩",38);

//写对象

oos.writeObject(p);

oos.close();

}

public static void readObj() throws IOException, ClassNotFoundException{

//反序列化

ObjectInputStream ois= new ObjectInputStream(new FileInputStream("d:\\work\\abc\\person.txt"));

//读对象

Object obj = ois.readObject();//相当于new Person();

System.out.println(obj);

ois.close();

}

}

1和2都会明确的显式的调用构造函数 ;

3是在内存上对已有对象的影印,所以不会调用构造函数 ;

4是从文件中还原类的对象,也不会调用构造函数。

java创建user类在哪里_java中创建对象有哪几种方式相关推荐

  1. java类初始数组_java中数组初始化的三种方式是什么

    java中数组初始化的三种方式是:1.静态初始化,如[int a[] = {2, 0, 1, 9, 2020}]:2.动态初始化,如[int[] c = new int[4]]:3.默认初始化,如[i ...

  2. java new class 直接调用_java中创建对象的的两种方式具体解释,一个是new一个是调用Class类的newinstance方法?...

    展开全部 1.new 使用java的关键字new来创建对象实例.构造函数链中的所有构造函数都32313133353236313431303231363533e78988e69d833133333739 ...

  3. java定义一个类显示没有_Java 中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。_学小易找答案...

    [单选题]关于 Java 语言叙述错误的是( ). [判断题]类中 static 修饰的变量或方法,可以使用类名或对象的引用变量访问. [命名题]命名下列化合物, [单选题]急性胰腺炎的主要临床表现是 ...

  4. java 创建文件夹的方法_java中创建文件夹的方法

    java中创建文件夹的方法 发布时间:2020-06-10 11:46:49 来源:亿速云 阅读:461 作者:Leah 这篇文章给大家分享的是java中创建文件夹的方法.小编觉得挺实用的,因此分享给 ...

  5. java多线程区别_Java中实现多线程的两种方式之间的区别

    Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...

  6. java 时间戳 对比_Java中获取时间戳的三种方式对比实现

    Java中获取时间戳 三种方式对比 最近项目开发过程中发现了项目中获取时间戳的业务.而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式. 1.System ...

  7. java里break的使用方法_Java中break的第三种用法说明

    在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破 ...

  8. Java中创建对象有哪几种方式,Java 中创建对象的4种方式--Java学习网

    核心提示:Java 是面向对象的语言,不可避免的,"对象"这个概念是 Java 语言的核心部分,这里来简单讨论一下在 Java 中创建一般对象的方法. 总结下来有以下4种创建对象的 ...

  9. java编写主类什么意思_Java中什么是类及类的定义

    本章节主要介绍java中类的定义及定义所用的关键字 类是 Java 中的一种重要的复合数据类型,也是组成 Java 程序的基本要素,因为所有的 Java 程序都是基于类的.本节介绍如何定义类. 在 J ...

最新文章

  1. 现在学java还是python好_该学Java还是Python?
  2. php-curl小记
  3. [Silverlight]常见问题
  4. Asia Yokohama Regional Contest 2018 G题 What Goes Up Must Come Down(树状数组求逆序对)
  5. 父类一实现serializable_我的java基础学习易错点和易忘点总结(一)
  6. 模拟 Codeforces Round #288 (Div. 2) A. Pasha and Pixels
  7. JAVA程序设计第十版第七章_java程序设计第七章答案
  8. 查看Linux是Redhat 还是centos 还是...
  9. 吃一堑长一智,作为程序员的我们记住这几点,2021年Android开发实战
  10. # 安卓手机启动黑阈服务
  11. 【转】将安全证书导入到java的cacerts证书库
  12. scratch的官方版本和其他的改编版本/小喵科技Kittenblock/snap!/TurboWarp
  13. 带小数的二进制转十进制(C代码)
  14. SpringCloud学习笔记(一)【Euraka集群搭建】
  15. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——2.2 令牌和数据类型...
  16. 解决sublime无法下载插件问题
  17. VBA-with语句
  18. 赵丽5500 第二节课
  19. LeetCode-Revers_Bits
  20. TabControl 选项卡控件

热门文章

  1. qt写文本文件换行符_小小换行符乱谈(文本文件vs二进制文件)
  2. ERD Online 4.0.4 元数据在线建模(免费、私有部署)
  3. 哈希表链地址法解决冲突
  4. 李敖-学习和看书方法
  5. android 调试原理
  6. 没有域名备案可以安装ssl证书吗?应用IP申请ssl证书的注意事项
  7. 将敏捷应用于工业机械开发
  8. 反超7-11!中国新的“便利店之王”即将诞生!
  9. 《自然语言处理实践——聊天机器人技术原理与应用》(王昊奋)简要笔记(全)
  10. LLVM 介绍(一) 项目与Chris Lattner