java面试题-创建对象的五种方式

/**
 * java 创建对象五种方式
 *
 */
public class BuildObject implements Cloneable,Serializable{

	public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, CloneNotSupportedException, FileNotFoundException, IOException {
		//1.通过new
		BuildObject objNew=new BuildObject();
		objNew.build("objNew");
		//2.通过Class类的newInstance
		BuildObject objClass= (BuildObject) Class.forName("com.ecit.lyy.buildObj.BuildObject").newInstance();
		objClass.build("objClass");
		//3.通过Constructor类的newInstance方法
		Constructor<BuildObject> constructor=BuildObject.class.getConstructor();
		BuildObject objCons=constructor.newInstance();
		objCons.build("objCons");
		//4.使用clone方法:需要实现Cloneable接口
		BuildObject objClone=(BuildObject)objNew.clone();
		objClone.build("objClone");
		//5.使用反序列化
		ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("data.obj"));
		out.writeObject(objNew);
		out.close();
		ObjectInputStream in=new ObjectInputStream(new FileInputStream("data.obj"));
		BuildObject objSeri=(BuildObject) in.readObject();
		in.close();
		objSeri.build("objSeri");
	}
	
	void build(String fun){
		System.out.println("hashCode :"+this.hashCode());
		System.out.println(fun+" : build object success!!!");
	}
	
	
}

 

 

结果输出:

hashCode :366712642
objNew : build object success!!!
hashCode :1829164700
objClass : build object success!!!
hashCode :2018699554
objCons : build object success!!!
hashCode :1311053135
objClone : build object success!!!
hashCode :990368553
objSeri : build object success!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盒曰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值