gpt4 book ai didi

Java 抽象类不能改造成现有类

转载 作者:行者123 更新时间:2023-11-30 09:27:05 24 4
gpt4 key购买 nike

我一直在阅读“Effective Java”我并没有真正遵循以下论点。如果有人能帮我解决这个问题

抽象类不能用于定义混入,原因与它们不能改造现有类:

尤其是“我不明白‘抽象类不能改造成现有类’”

你能举个例子吗

http://books.google.se/books?id=ka2VUBqHiWkC&lpg=PA93&dq=Abstract%20classes%20cannot%20be%20used%20to%20define%20mixins%20for%20the%20same%20reason%20that%20they%20can 't%20be%20retrofitted%20onto%20existing%20classes&pg=PA93#v=onepage&q=Abstract%20classes%20cannot%20be%20used%20to%20define%20mixins%20for%20the%20same%20reason%20that%20they%20can't %20be%20retrofitted%20onto%20existing%20classes&f=false

谢谢

最佳答案

想象一下,如果 Java 中不存在接口(interface),但 Java 仍然是单继承。

现在想象一下,如果您想编写一个流类,那么您可以让它继承现有的 Stream 类,以免重写所有代码。啊——但你还希望你的类是可序列化的,所以你从 Serializ 继承——等一下……你已经从 Stream 继承了。你也不能从那个类继承。因此,您现在处于一个困难的境地,您必须重写大量代码或干脆放弃。

这就是“抽象类不能改造到现有类”的意思——如果一个类在某个类型层次结构中,那么在不重写类型层次结构的情况下使其实现/继承新抽象类的行为是不可能的。

(我也同意书上解释得很清楚的评论)

关于Java 抽象类不能改造成现有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14739748/

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