Javafx 2 需要澄清什么是JavaFX中的公共API吗?

Javafx 2 需要澄清什么是JavaFX中的公共API吗?,javafx-2,javafx-8,Javafx 2,Javafx 8,我对来自JavaFX演讲者的公共API这个术语非常感兴趣 公共API应该是什么意思 相反,是否存在专用API 公共API不是JavaFX术语 这是一个通常适用于Java程序的术语 程序的公共API在其所有公共类中都包含以下内容: 非私有类和非包私有类的字段 非包专用的接口 非私有和非包私有的方法 非私有和非包私有的成员类 公共API的同义词是“导出API”。这些是您的应用程序的特性,其他希望在自己的开发中使用您的应用程序的程序员可以访问这些特性 “私有API”只是上面没有提到的程序的其他特

我对来自
JavaFX
演讲者的
公共API
这个术语非常感兴趣

  • 公共API
    应该是什么意思
  • 相反,是否存在
    专用API

    • 公共API不是JavaFX术语

      这是一个通常适用于Java程序的术语

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

      • 非私有类和非包私有类的字段
      • 非包专用的接口
      • 非私有和非包私有的方法
      • 非私有和非包私有的成员类
      公共API的同义词是“导出API”。这些是您的应用程序的特性,其他希望在自己的开发中使用您的应用程序的程序员可以访问这些特性

      “私有API”只是上面没有提到的程序的其他特性。这些类的私有成员是您的“实现细节”,只要这些更改不影响公共API,您可以随意更改或编辑它们


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

      javafx命名空间中的所有类都是公共API,您不会在未来的javafx版本中被破坏,相反,在com.sun.javafx中找到的类是私有的,可以在不同的版本中进行更改

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

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

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

      这是一个常见的过程——预先考虑,并在公共和私有API之间进行分离,以便用户能够拥有稳定的产品功能API

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

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

      最后,您可以在javafxjira中提交一个RFE,请求公开其功能。如果这真的是一个好主意(由开发者决定;可能在公众讨论之后;关注投票结果),那么它是可以实现的