在java程序中,为什么不能创建 Runtime 类实例?而是用getRuntime方法来创建。 请高手解释一下 谢谢~!
3个回答
展开全部
单例模式,你看看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() {}
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() {}
展开全部
改用try{ java.awt.Desktop.getDesktop().edit(new File(
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.lang.Runtime是一个单例类,需要通过getRuntime()方法获得Runtime的实例,
关于单例建议你看下设计模式,就明白了。
关于单例建议你看下设计模式,就明白了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询