编程语言
首页 > 编程语言> > java-继承,构造函数等中抽象类与具体类之间的差异

java-继承,构造函数等中抽象类与具体类之间的差异

作者:互联网

我们都知道类中的抽象修饰符可以使它

>不可实例化
>抽象方法的候选人,
>非最终,非静态,非私有

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

除了描述的两个官方要点之外,在扩展(称为super)时要考虑的抽象类与具体类之间是否存在任何差异或特殊行为.

编译器是否假定它是一个常规类,并且具有除禁止实例化之外的所有其他属性?

解决方法:

抽象类在大多数情况下是一种设计概念.它对代码读者的作用要大于对编译器的作用.它们所需的编译器和JVM支持是最小的:归结为在类上设置了“请勿实例化我”标志,并在编译代码和尝试通过反射创建实例时对其进行检查.

另一方面,对代码的人类阅读者来说,其好处是更大的:他们知道您为继承设计了抽象类,并了解了通过抽象方法为他们提出的扩展点.另外,如果它们为所有抽象方法提供了替代,则编译器将跟踪它们.

标签:inheritance,abstract-class,java
来源: https://codeday.me/bug/20191027/1946022.html