Java几种建立实例的方法
Java几种建立实例的方法
new
利用Java关键字new来建立对象实例是Java中最为常见也是最为简单的建立对象实例的方法。若程序写成如下形式,
则可建立something类的对象实例后再指定到变量obj。
something obj=new something();
此时,必须把类名(在此为something)写在源码之内。
clone
若利用clone方法,则可根据现有的对象实例来建立里一个新对象实例。利用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;
}
}
newInstance
利用java.lang.Class类的newInstance方法,可以根据Class的对象实例,建立该Class所表示的类的对象实
例(调用无参数的构造方法)
下面是Something类的对象实例someobj,则可以用下面的表达式建立一个Something类的对象实例。
someobj.getClass().newInstance();
//or next codes
Something obj=Class.forName(Something).newIntance();
值得注意的是,newIinstance方法会跑出InstantiationException或者IllegalAcsessException异常,所以
应该在catch语句块中捕获这个异常。
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
java定时器的使用
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行。定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现具体任务。
schedule(TimerTask task, Date time)设定指定任务task在指 ......
简化图:
Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。
Java 2集合框架图
集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。 ......
网址抓取 Java API 概述
http://code.google.com/intl/zh-CN/appengine/docs/java/urlfetch/usingjavanet.html
App Engine 应用程序可以与其他应用程序进行通信或通过抓取网址访问网络上的其他资源。应用程序可以使用网址抓取服务来发出 HTTP 和 HTTPS 请求并接收响应。出于效率和扩展性考虑,网址抓取服务使用 G ......
网址抓取 Java API 概述
http://code.google.com/intl/zh-CN/appengine/docs/java/urlfetch/usingjavanet.html
App Engine 应用程序可以与其他应用程序进行通信或通过抓取网址访问网络上的其他资源。应用程序可以使用网址抓取服务来发出 HTTP 和 HTTPS 请求并接收响应。出于效率和扩展性考虑,网址抓取服务使用 G ......