gpt4 book ai didi

java - 抽象类和具体类在继承、构造函数等方面的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:34 24 4
gpt4 key购买 nike

我们都知道类中的abstract修饰符使它成为

  • 不可实例化,
  • 抽象方法候选人,
  • 非最终的、非静态的、非私有(private)的

除此之外,我还想确切地知道它背后所代表的所有变化或副作用。不能问他/她现在还没有什么,但我想知道在继承、构造函数等方面是否还有更多需要考虑的东西。

除了描述的两个官方要点之外,在扩展、调用 super 时,抽象类和具体类之间是否有任何区别或特殊行为需要考虑。

编译器是否假定它是一个常规类并且具有除了不允许实例化之外的所有属性?

最佳答案

抽象类在很大程度上是一种设计概念。与编译器相比,它为代码的读者做的更多。它们所需的编译器和 JVM 支持是最少的:它归结为在类上设置一个“不实例化我”标志,并在编译代码和尝试通过反射创建实例时检查它。

另一方面,您代码的人类读者的好处要大得多:他们知道您设计抽象类是为了继承,并看到您通过抽象方法为他们做了哪些扩展点。此外,如果它们为所有抽象方法提供了覆盖,编译器将跟踪它们。

关于java - 抽象类和具体类在继承、构造函数等方面的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33956935/

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