[英]Java - why System and Runtime classes have identical methods?
我最近想知道为什么java.lang.Runtime
和java.lang.System
都有相同的库加载,垃圾收集和类似操作的方法。 是因为历史原因,为了方便,还是真的不同? 这两个类都可以从JDK 1.0获得......
我的猜测(请记住,这是一个猜测), System
类中的方法是为了方便起见。 例如, System.gc();
是静态的,其中Runtime.gc();
是一个实例方法。 这使得调用更容易,因为您不需要获取Runtime
实例。
系统公开了开发人员使用System可能适合的各种事情。
我会担心程序员直接玩Runtime。 要使System调用方法,需要公开它们。
System为Runtime提供了一个接口,以便能够访问适合程序员调用的Runtime方法。 调用System方法并让它们适当地委派。
如果您查看System#load(String)
方法的示例,您会看到它调用方法Runtime#load(String)
。 对于gc()
。 所以这很可能是出于历史原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.