读书人

java动态取得实例类型并创建实例

发布时间: 2012-12-18 12:43:41 作者: rapoo

java动态获得实例类型并创建实例

在java编程中经常遇到这样的问题

1、已经一个类的实例,判断这个实例是不是某个类的对象;

2、已知一个类的实例,想创建一个和此实例类型相同的对象,尤其当这个实例类型可能动态的时候。

?

介绍一个关键字和两个函数

instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例。

示例见newInstance;

?

getClass() Returns the runtime class of this Object.即返回一个实例运行时类型。

示例代码如下:

String stringInstance = new String();Object objectInstance = stringInstance.getClass().newInstance();  if (objectInstance instanceof Object)System.out.println("ob是一个Object实例");if (objectInstance instanceof String)System.out.println("ob是一个String实例");

?

输出结果:

?

ob是一个Object实例

ob是一个String实例

参考:

http://download.oracle.com/javase/6/docs/api/java/lang/Class.html#newInstance()

?

至此以上两个问题都解决

读书人网 >编程

热点推荐