gpt4 book ai didi

java - 没有方法的抽象类

转载 作者:行者123 更新时间:2023-12-01 08:03:51 25 4
gpt4 key购买 nike

是否存在需要一个没有定义方法的抽象类的用例?我偶然发现创建这样一个抽象类只是为了泛型,以便用户只传递此类的子类型。但我想知道是否有效或者有更好的方法。

最佳答案

拥有一个没有方法的抽象类是合法的,但完全没有意义。您使用抽象类来共享实现。如果一个类没有方法,则它没有可共享的实现。

如果您需要共享一些公共(public)变量(我假设您的抽象类至少有一些字段,否则它完全是空的),那么最好使用组合和接口(interface),如下所示:

class CommonData {
// Some getters and setters for items that you wish to share
}
interface WithCommonData {
CommonData getCommonData();
}

您的类可以将公共(public)数据作为成员,并实现接口(interface)WithCommonData,使您可以访问公共(public)数据,并让类保持其继承结构。

如果您需要“标记”一个用户类,那么使用“标记接口(interface)”(即没有方法的接口(interface))会更加灵活,因为用户保留了构建自己的继承链的能力。

关于java - 没有方法的抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133038/

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