Java 关于最后一节课

Java 关于最后一节课,java,Java,当我们将一个类中的所有变量和方法声明为final时,我们受到覆盖概念的限制 然后,“我们想通过使用final类来限制OOP语言中的is-A关系(即使我们限制is-A关系,这种语言也有has-A关系)的原因是什么?” 我的观点是,我们不能以任何方式限制对类成员的访问,然后通过允许is-A关系提供一个轻松的访问。 否则,创建对象和所有对象都会让人头疼吗?(在我看来,“访问”不包括修改) 如果我错过了任何重要的节目主题,请原谅。告诉我,这是什么 是否有必要将一个类声明为最终类 必要性,否。如果您想禁止

当我们将一个类中的所有变量和方法声明为final时,我们受到覆盖概念的限制

然后,“我们想通过使用final类来限制OOP语言中的is-A关系(即使我们限制is-A关系,这种语言也有has-A关系)的原因是什么?”

我的观点是,我们不能以任何方式限制对类成员的访问,然后通过允许is-A关系提供一个轻松的访问。 否则,创建对象和所有对象都会让人头疼吗?(在我看来,“访问”不包括修改)

如果我错过了任何重要的节目主题,请原谅。告诉我,这是什么

是否有必要将一个类声明为最终类

必要性,否。如果您想禁止扩展类final,请声明它。 这可以防止编程错误。 例如,建议将只有静态方法的实用程序类作为final, 因为从这样的类继承是没有意义的, 这显然是一个编程错误

是否有必要将一个类声明为最终类


对。如果您正在使用
类实现。如果有人可以将您的单例子类化,那么可能会有多个(这违反了单例模式)。

安全性将是一个必要条件。Java中的String类是一个不可变/最终类。系统类是另一个例子

请在此阅读更多内容: