需要澄清JavaFX中的这个公共API是什么?

时间:2013-06-01 15:31:05

标签: javafx-2 javafx-8

我非常关注来自Public API发言者的JavaFX这个词。

  • Public API应该是什么意思?
  • 相反,是否有Private API

3 个答案:

答案 0 :(得分:3)

最重要的是,你应该了解私有和公共API:

首先,技术上,您可以同时使用它们。

在第二个。当开发人员开发一些程序时,他们认为 - 这是针对用户的,这是我们的实现。随着时间的推移,程序可以改变。当开发人员添加更改时 - 如果它是关于私有API的更改 - 他们会做他们想要的一切,只需传递内部代码审查流程。但是,当出现需要更改公共API时 - 他们开始思考。如果确实需要它,并且没有其他解决方案可以完成,它们会更改公共API,并提供有关更改的所有信息(例如发行说明)。

这是常见的过程 - 先考虑,并在公共和私有API之间建立分离,以便用户可以拥有稳定的产品功能API。

第三部分:关于JavaFX:它的私有API正在生存。产品正在开发中,这些API正在迅速变化。公共API大多是稳定的,并且是公共API更改最常见的事情 - 当添加类公开可用方法时(新功能)。

如果您希望/需要使用私有API中的某些功能 - 这是您的风险。它可以更改,甚至删除。开发人员不负责在产品中保留私有功能,或使用稳定的API。

最后,您可以在javafx-jira中提交RFE,以请求公开其功能。如果它真的很好(由开发人员决定;可能是在公开讨论之后;关注投票结果) - 它可以完成。

答案 1 :(得分:2)

Public API不是JavaFX术语。

这个术语通常适用于Java程序。

程序的公共API在其所有公共类中都有以下所有内容:

  • 非私有且不是包私有的类字段
  • 非package-private的接口
  • 非私有而非包私有的方法
  • 非私有且不是包私有的成员类

Public API的同义词是“导出的API”。这些是您的应用程序的功能,可供其他希望在自己的开发中使用您的应用程序的程序员访问。

“私有API”只是程序中未涵盖的其他功能。这些课程的私人成员是您的“实施细节”,只要这些更改不会影响公共API,您就可以随意更改或编辑它们。

将实现细节与导出的API区分开来的能力是面向对象编程的一个重要概念,特别是Java编程。这种能力通常被称为“封装”。

答案 2 :(得分:2)

javafx-namespace中的所有类都是公共API,在将来的JavaFX版本中你不会被破坏,相比之下,com.sun.javafx中的类是私有的,可以在发行版之间进行更改