Java几种建立实例的方法

1、new

something obj=new something();

2、clone

根据现有的对象实例来建立里一个新对象实例。

只限于实现了java.lang.Cloneable接口的类。否则会抛出CloneNotSupportedException异常。

如下,则可根据当前对象本身建立另一个对象实例(但并未利用构造方法)。

class Something

{

//codes

public Something createClone()

{

Something obj=null;

try

{

obj=(Something)clone();

}

catch(CloneNotSupportedException e)

{

e.printStackTrack();

}

return obj;

}

}

3、newInstance

利用java.lang.Class类的newInstance方法,可以根据Class的对象实例,建立该Class所表示的类的对象实例(调用无参数的构造方法)

如下:

someobj.getClass().newInstance();

//or next codes

Something obj=Class.forName(Something).newIntance();

值得注意的是,newIinstance方法会跑出InstantiationException或者IllegalAcsessException异常,所以应该在catch语句块中捕获这个异常。

时间: 2024-10-01 05:01:41

Java几种建立实例的方法的相关文章

JAVA四种遍历Map的方法

import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; /** Created by song on 2019/1/17.*/public class MapT {public static void main(String[] args) {Map<Integer,String> map=new HashMap<>();map.put(1,"

Java三种嵌入jsp的方法

一.表达式标签<%=   %> 作用:1.计算表达式的值 <%=1+1%> 2.在页面显示表达式的值 <%=pageContext.getAttribute("ting")%> 注意:<%=%>不能有分号 二.声明表达式<%!   %> 作用:声明变量和函数,可以由Java代码调用.例如<%! String name="yvwenting"%> 注意:1.<%!  %>中可以出现分号

Java一种错误的实例化方法:在默认无参构造函数中进行实例化

代码如下: package Construction_test; public class A { static int i=0; public A() { //默认构造方法 i++; System.out.println("---before--- " + i); A a2 =new A(); //实例的时候调用无惨构造方法 System.out.println("---after---"); } public static void main(String[]

将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> assetList = Arrays.asList(asset);

Java创建一个类的实例的方法

创建一个类的实例的方法有以下四种 一.通过new 来实现,也是最常用的 二.通过反射机制来实现 Class c = Class.forName("路径"): (1)java.lang.newInstance User use = (User)c.java.newInstance(); (2)java.lang.reflect.Constructor类的newInstance方法 Constructor con = c.getConstructor(String.class); User

Java几种常用的实现排序方法

import java.util.Random; public class NumberSort{ /** * 私有构造方法,禁止实例化 */ private NumberSort(){ super(); } /** * 冒泡排序 * 比较相邻的元素.如果第一个比第二个大,就叫唤他们两个位置. * 对每一组相邻的元素作同样的工作,从开始的第一对到结束后的最后一对,这样剩下的最后一个应该是最大的数. * 针对所有元素重复以上操作,除了最后一个. * 持续对越来越少的数进行以上的操作,直到没有任何一

Spring(十三):使用工厂方法来配置Bean的两种方式(静态工厂方法&amp;实例工厂方法)

通过调用静态工厂方法创建Bean 1)调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中.当客户端需要对象时,只需要简单地调用静态方法,而不需要关心创建对象的具体细节. 2)要声明通过静态方法创建的Bean,需要在Bean的class属性中指定拥有该工厂的方法的类,同时需要在bean的factory-method属性里指定工厂方法的名称.最后,使用<constructor-arg>元素为该方法传递方法参数. 示例: 第一步:创建一个java project,导入包: 第二步:创建c

java.lang.String.getBytes(String charsetName)方法实例

java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java.lang.String.getBytes()方法的声明 public byte[] getBytes(String charsetName) throws UnsupportedEncodingException 参数 charset -- 这是一个支持的字符集的名称. 返回值 此方法返回得到的字节

(转)java 23种设计模式

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周