gpt4 book ai didi

java - 我如何弄清楚哪个类称为静态方法?

转载 作者:行者123 更新时间:2023-12-04 06:36:40 24 4
gpt4 key购买 nike

我有一个类:

class Superclass { static List list() { ... } }

和子类:
class Subclass extends Superclass { ... }
class Subclass2 extends Superclass { ... }

我想调用 list像这样的方法: Subclass.list()Subclass2.list() ,并根据调用它的子类做一些不同的事情。

有什么方法可以告诉我哪个子类正在调用 list方法?

注意:我不想重写 list每个子类中的方法。

更新:每个人都说这是一个糟糕的设计,在大多数情况下我认为它会是,但在我的情况下我不这么认为。我的 ORM 定义了接受 java.lang.Class 的方法。 .我想为我的 ORM 方法提供一个简写,以便我可以说 User.list(...)而不是 ORM.list(User.class, ...) .

最佳答案

您的意思是子类将调用该方法吗?那么这应该是一个实例方法(不是静态的),抽象的,子类将提供实现。

或者你的意思是覆盖一个静态方法?这是不可能的,至少不是以一种有意义的方式。可以尝试通过在子类中定义来隐藏父类(super class)的静态方法,但这并不是真正的继承关系。

关于java - 我如何弄清楚哪个类称为静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788410/

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