欢迎光临散文网 会员登陆 & 注册

浅谈Java的6种创建对象方式

2022-12-27 16:44 作者:京北视点  | 我要投稿

  相信很多刚学习Java的同学,都会很快说出“面向对象”这种编程思想,都会说Java就是new个对象就行了,其他的都可以不用管,万物皆对象,有了对象什么都有了。

  但是您真的会创建Java对象吗?或者说您只是简单的知道new一个对象吗?哈哈,如果您还不知道Java创建对象的其他方式,也没关系,今天小北就教会您,Java中创建对象的“六”种方式,从低端到高端,各种创建方式,总有一个适合您,还没有对象的小伙伴注意啦,快点跟着小北一起,自己创建一个对象吧!

  2022年,我们的目标是:我要对象,我要脱单,再见单身GO!

  创建对象的 6 种方式,假设有个GirlFriend类。

  代码

  

图片


  方法1.new一个对象

  没对象就new一个吧,没错,使用new关键字,这是Java创建对象最简单粗暴的方式了。

  代码

  

图片


  结果

  

图片


  方法2.克隆一个对象

  您身边的小伙伴儿都有对象了,但是您没有,那怎么能行,抓紧把别人的对象克隆一个吧!哈哈~~~

  让GirlFriend类先实现 Cloneable 接口,并且重写其 clone() 方法。

  代码

  

图片


  注意:这里演示默认使用的是浅拷贝,即只克隆基本类型的字段,引用类型的需要再重写 clone() 方法手动赋下引用字段的值

  现在克隆一个对象:

  代码

  

图片


  结果

  

图片


  使用克隆的好处就是可以快速创建一个和原对象值一样的对象,对象的字段值一样,但是两个不同的“引用”。

  方法3.类派发一个对象(反射)

  GirlFriend类如下:

  

图片


  直接使用GirlFriend类派发一个吧。

  代码

  

图片


  结果

  

图片


  方法4.动态加载一个对象(反射)

  知道GirlFriend类在哪里(全类名:包名+类名),但却没有被加载,那就反射一个对象吧:

  代码

  

图片


  结果

  

图片


  方法5.构造一个对象(反射)

  知道GirlFriend类的构造方法,那就可以利用反射,调用构造器构造一个对象。

  代码

  

图片


  结果

  

图片


  这里也可以同时结合方法四的全类名构造一个对象。

  方法6.反序列化一个对象

  这个和克隆的作用类似,假如以前序列化(保存)了一个对象在磁盘上,现在就可以反序列化出来。

  首先让GirlFriend类可序列化,实现 Serializable 接口:

  

图片


  序列化/反序列化对象示例代码

  

图片


  结果

  

图片


  不积跬步,无以至千里;不积小流,无以成江海。知识的海洋是无尽的,我们需要勤奋和积累。以上六种方式,希望可以对大家有所帮助,大家也可以评论留言,关注公众号,我们可以聚集各路大咖一起探讨进步。


浅谈Java的6种创建对象方式的评论 (共 条)

分享到微博请遵守国家法律