gpt4 book ai didi

java - 无法理解需要使 Process.java 抽象

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:31 25 4
gpt4 key购买 nike

我正在漫不经心地浏览 Java 核心类的源代码。我发现 Process.java 文件是一个 public abstract 类。当我浏览代码时没有函数有定义。这是否意味着它应该被声明为 Interface。是不是有什么故意的原因。谁能帮我理解这种设计的需要。

链接到 code

最佳答案

Process 是抽象的,因为它很可能在每个操作系统上都有不同的实现。应用程序开发人员不实现这个抽象类;它作为 Java 运行时的一部分实现。

由于所有的方法都是抽象的,它本来可以被声明为一个接口(interface),但那样会导致该类在未来无法进化。例如,一旦在公共(public) API 中声明了新方法,就不应将其添加到接口(interface)中,因为那样任何现有的实现都将不兼容。相反,新的(具体的)方法可以很容易地添加到抽象类中。

Process 的实例由运行时创建,可以通过 Runtime 类方法,也可以来自 ProcessBuilder 实例。应用程序通常不会使用 new 运算符直接创建(具体子类的)实例。

关于java - 无法理解需要使 Process.java 抽象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com