黑马程序员技术交流社区

标题: runtime的用法 解决,谢谢 [打印本页]

作者: 何万县    时间: 2012-3-30 14:29
标题: runtime的用法 解决,谢谢
本帖最后由 何万县 于 2012-3-30 15:05 编辑

Runtime ec;                                \\只是声明一个对象。
ec=Runtime.getruntime();            \\使用Runtime类的方法创建对象。
为什么会用方法创建对象?而不用new?
Runtime类该怎么用?
作者: 肖发腾    时间: 2012-3-30 14:55
getRuntime()方法原型是Runtime类中如下定义

class Runtime
{..........
   public static Runtime getRuntime()  {.........}
...........
}
注意了,这里它的修饰符是 public static !楼主明白了么?
也就是说这个类  不能自己定义并创建对象,也就是不能new了。
只能由这个方法获得当前进行中的进程对象

然后就可以调用它的方法了

Runtime  rt=Runtime.getRuntime();
Process prc=rt.exec("D:/QQ/BIN/QQ.EXE") ;
然后 prc就是在java程序中  一个对qq.exe的缩影..可以当成映射关系。
作者: 贠(yun)靖    时间: 2012-3-30 15:43
runtime 类是使用单列设计模式的类    runtime类主要功能是 获取主机的时间相关的信息   时间是唯一的  所以不能创建多个对象
多个对象的话时间不唯一  判断时间就会乱了套的      
作者: dangfei    时间: 2012-3-30 16:00
楼上正解。Runtime没有构造方法,每个 Java 应用程序都有一个 Runtime 类实例,但应用程序不能创建自己的 Runtime 类实例,只能调用getRuntime()方法
得到与当前Java 应用程序相关的运行时对象。
作者: 郑洋洋    时间: 2012-3-30 16:41
runtime 类是使用单列设计模式的类,系统已经设计好了,你需要的是通过方法获取,不可以new
作者: 王运科    时间: 2012-3-30 17:27
单例模式,你看看Runtime的源代码就可以了。
Runtime的构造函数是私有的,从程序角度也不允许你直接创建。
从深层次考虑,如果你的Runtime可以随你创立,那JAVA程序的安全性将会大为降低。
建议你多了解点单例模式。类似的还有Calendar.getInstance()
public class Runtime {
    private static Runtime currentRuntime = new Runtime();
    /**
     * Returns the runtime object associated with the current Java application.
     * Most of the methods of class <code>Runtime</code> are instance
     * methods and must be invoked with respect to the current runtime object.
     *
     * @return  the <code>Runtime</code> object associated with the current
     *          Java application.
     */
    public static Runtime getRuntime() {
return currentRuntime;
    }
    /** Don't let anyone else instantiate this class */
    private Runtime() {}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2