首页 > 编程语言 >Java基础:创建对象有几种方式?

Java基础:创建对象有几种方式?

时间:2023-11-05 19:33:12浏览次数:26  
标签:Java newInstance Object 创建对象 几种 User new 序列化


Java 创建对象有几种方式?

new 关键字

  平时使用的最多的创建对象方式

User user=new User();

反射方式

  使用 newInstance(),但是得处理两个异常 InstantiationException、IllegalAccessException:

User user=User.class.newInstance();
Object object=(Object)Class.forName("java.lang.Object").newInstance()

clone方法

  Object对象中的clone方法来完成这个操作

反序列化操作

  调用 ObjectInputStream 类的 readObject() 方法。我们反序列化一个对象,JVM 会给我们创建一个单独的对象。JVM 创建对象并不会调用任何构造函数。一个对象实现了 Serializable 接口,就可以把对象写入到文中,并通过读取文件来创建对象。

总结
  创建对象的方式关键字:new、反射、clone 拷贝、反序列化。


标签:Java,newInstance,Object,创建对象,几种,User,new,序列化
From: https://blog.51cto.com/zhangxueliang/8194806

相关文章

  • java基础:Object中的常用方法
    介绍下Object中的常用方法clone方法  保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常,深拷贝也需要实现Cloneable,同时其成员变量为引用类型的也需要实现Cloneable,然后重写clone方法。finalize方法  该方......
  • java集合:什么是 fail-fast?
    说说什么是fail-fast?  fail-fast机制是Java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。  例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了,那么线程A访问集合时,就会......
  • java基础:static都有哪些用法?
    static都有哪些用法?  所有的人都知道static关键字这两个基本的用法:静态变量和静态方法.也就是被static所修饰的变量/方法都属于类的静态资源,类实例所共享.  除了静态变量和静态方法之外,static也用于静态块,多用于初始化操作:publiccalssPreCache{static{//执行相关......
  • java基础:再哈希法解决哈希冲突代码示例
    再哈希法(Rehashing)是解决哈希冲突的另一种方法。它与开放定址法不同,再哈希法使用多个哈希函数来确定冲突元素的位置,而不是在同一个哈希表中进行探测。下面是一个使用再哈希法解决哈希冲突的示例代码:publicclassRehashingHashTable{privateEntry[]table;privateint......
  • java基础:深拷贝和浅拷贝的区别是什么?
    深拷贝和浅拷贝的区别是什么?原型模式:设计模式-->Springbean的Scope浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象.深拷贝:被复制对象的所有变量都含有与原来......
  • Java拾贝第十七天——反射之初认Class类
    反射反射可以在运行中知晓任意类的任意属性和方法。这种动态获取信息的功能称之为反射。小栗子packagemoudle2;publicclassTest17{publicstaticvoidmain(String[]args){Test17t17=newTest17();System.out.println(t17.getClass());......
  • Java+Jsp+MySQL高校选课系统设计与实现(附源码下载地址)
    @目录01源码下载02系统概述03开发工具及技术选型04运行环境05用户分析06功能分析07数据库设计08项目工程结构及说明09部分功能展示及源码9.1管理员端--首页9.2管理员端--专业管理9.3管理员--课程管理9.4管理员端--统计信息9.5普通用户端--基本信息9.6普通用户端--......
  • Java根据文本内容,批量修改文件名称
    这两天学到IO流对文件的操作,想起在几年前有几百个按"1,2,3"排序命名的短文,于是产生将其批量命名后整理的想法.这批文本的名称在文件内第十行的位置,前面的是广告和其他不相关的东西本想构造抓到第九行广告语后返回下一行文本的方法,没能实现,只好用了更简单直接的直接抓第十行......
  • 前端学习-JavaScrip学习-js基础02
    学习教程:黑马程序员视频链接运算符自增运算符leti=1;console.log(i+++1);//输出2,i=2leti=1;console.log(++i+1);//输出3,i=2比较运算符开发中,判断相等,推荐用===比较小数会有精度问题逻辑运算符优先级:非>与>或练习01<!DOCTYPEhtml><htmllang="en"><he......
  • redis的几种部署模式
     一,redis有哪几种部署模式Redis有几种常见的部署模式,包括单机模式、主从模式、哨兵模式和集群模式。单机模式:这是最简单的部署方式,仅需要在单个机器上启动Redis实例。这种模式适用于数据量较小、业务压力较小的场景。其优点是操作简单、成本低,适用于小型业务和开发测试环境。......