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

© 刘晓康 中级黑马   /  2012-4-4 15:56  /  1775 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

4 个回复

倒序浏览
getRuntime()方法在Runtime类中本身

class Runtime{
   public static Runtime getRuntime()  {.........}
}
  它是由public static  修饰的
不能自己定义并创建对象,也就是不能new了。
只能由这个方法获得当前进行中的进程对象

然后就可以调用它的方法了
回复 使用道具 举报
静态 方法直接 调用
回复 使用道具 举报
本帖最后由 李敏 于 2012-4-4 18:21 编辑

你查API就能知道了。API中既然没有构造方法,那就肯定Runtime 的构造方法被私有了,所以不能直接用New 来创建对象。然后它给你提供了一个静态方法来获得它的实例对象。这个就跟单例模式一样。
class Runtime{
        private Runtime(){}//构造方法私有
        private static Runtime rt=null;
        public static Runtime getRuntime()//提供静态的getRuntime()方法来获取实例,可以直接类名来调用
        {
                if (rt==null) {
                        rt=new Runtime();
                }
                return rt;
        }
}
   你可以去看源代码,跟这差不多的。嘿嘿,这个是懒汉。
回复 使用道具 举报
Runtime并没有提供构造方法,不可以new对象,但该类提供了getRuntime()方法获取本类对象,而且该方法是静态的,并返回值类型是本类类型,详细的用法你可以查看API文档
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马