A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何万县 中级黑马   /  2012-3-30 14:29  /  1872 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 何万县 于 2012-3-30 15:05 编辑

Runtime ec;                                \\只是声明一个对象。
ec=Runtime.getruntime();            \\使用Runtime类的方法创建对象。
为什么会用方法创建对象?而不用new?
Runtime类该怎么用?

5 个回复

倒序浏览
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的缩影..可以当成映射关系。
回复 使用道具 举报
runtime 类是使用单列设计模式的类    runtime类主要功能是 获取主机的时间相关的信息   时间是唯一的  所以不能创建多个对象
多个对象的话时间不唯一  判断时间就会乱了套的      
回复 使用道具 举报
楼上正解。Runtime没有构造方法,每个 Java 应用程序都有一个 Runtime 类实例,但应用程序不能创建自己的 Runtime 类实例,只能调用getRuntime()方法
得到与当前Java 应用程序相关的运行时对象。
回复 使用道具 举报
runtime 类是使用单列设计模式的类,系统已经设计好了,你需要的是通过方法获取,不可以new
回复 使用道具 举报
单例模式,你看看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() {}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马