参考文档以了解在java中制定任何规则的原因

参考文档以了解在java中制定任何规则的原因,java,language-design,Java,Language Design,当Java引入了一些新的东西时,Oracle会发布API文档以及关于如何使用它和遵循规则的教程。但是,它是否发布了任何关于以这种方式制作API背后的决策或想法的文档,或者为什么要这样设计 比如说, 为什么我们没有静态和受保护的外部类 为什么我们不能在Java中扩展多个类 为什么子类重写方法不能抛出比超类方法更多的异常 对于那些长期从事Java工作的人来说,这些可能是显而易见的,他们通过经验了解了这些问题背后的合理原因。 但是对Java不熟悉的人或者第一次使用它的人可能不会直接理解它。 因此,Or

当Java引入了一些新的东西时,Oracle会发布API文档以及关于如何使用它和遵循规则的教程。但是,它是否发布了任何关于以这种方式制作API背后的决策或想法的文档,或者为什么要这样设计

比如说,

  • 为什么我们没有静态和受保护的外部类

  • 为什么我们不能在Java中扩展多个类

  • 为什么子类重写方法不能抛出比超类方法更多的异常

  • 对于那些长期从事Java工作的人来说,这些可能是显而易见的,他们通过经验了解了这些问题背后的合理原因。 但是对Java不熟悉的人或者第一次使用它的人可能不会直接理解它。
    因此,Oracle发布的任何参考文档都可以用来了解这些规则背后的原因。

    不是针对现有规则,而是针对特定版本中新添加的功能。 当java发布新版本时,它发布的版本与示例中添加的所有增强功能和特性无关

    以下是Java7发行说明的链接,其中包含所有新增的特性和增强功能-

    在这个页面上,如果你点击任何一个功能,它将带到特定功能的细节。 例如,在此页面上,如果单击Java SE 7中的-多线程自定义类加载器,它将转到包含详细信息的页面,例如需要什么样的场景以及现在支持什么样的场景-

    与其他人回答的一样,没有此类文档,但您可以在网上(Java发行说明、JSR、论坛……和本网站)轻松找到答案

    关于你的确切问题:

  • protected
    static
    本质上是在类的范围内使用的
  • 继承仅限于一个类,因为。
    接口
    是Java(以及其他类似c#)的解决方案
  • 无法通过重写对方法进行不兼容的更改。添加一个异常会破坏多态性的可能性。在这种情况下,调用此方法的代码应该知道正确处理异常的确切实现

  • 没有,但是如果你按照邮件列表和bug库中的任何一个和所有内容进行操作,你会得到一个好主意。