java中如何创建对象呢?

java问题王 Java每日一问 发布时间:2021-10-04 11:10:55 阅读数:8967 1
下文笔者将讲述创建对象的方法分享,如下所示:
对象的创建是我们日常开发中常用的操作,那么java代码中如何创建对象呢?
下文将讲述创建对象的几种常见的方式,如下所示:
实现思路:
   方式1:
       使用new关键字创建对象
   方式2:
       使用对象的clone方法创建对象 
   方式3:
       使用反射的方式创建(调用Constructor类的newInstance()方法)
   方式4:
       使用反序列的方式创建类(ObjectInputStream类的readObject()方法) 
例:
Java创建对象的示例分享
 
package com.java265.other;
public class Test implements Cloneable {
	private int id;
	private String name;

	public Test() {
	}

	public Test(int id, String name) {
		this.name = name;
		this.id = id;
	}

	@Override
	protected Object clone() throws CloneNotSupportedException {
		return super.clone();
	}

	@Override
	public String toString() {
		return "Test{" + "id=" + id + ", name='" + name + '\'' + '}';
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (!(obj instanceof Test)) {
			return false;
		} else {
			if (this.id == ((Test) obj).id && this.name.equals(((Test) obj).name)) {
				return true;
			}
		}
		return false;
	}

	public static void main(String[] args)
			throws ClassNotFoundException, IllegalAccessException, InstantiationException, CloneNotSupportedException {
		Test test1 = (Test) Class.forName("com.java265.other.Test").newInstance();
		System.out.println(test1);

		Test test2 = new Test(8888, "java265");
		System.out.println(test2);

		Test test3 = (Test) test1.clone();
		System.out.println(test3);

		System.out.println(test1 == test2);
		System.out.println(test1.equals(test2));
	}

}
---------运行以上代码,将输出以下信息-----
Test{id=0, name='null'}
Test{id=8888, name='java265'}
Test{id=0, name='null'}
false
false
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202110/1362.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者