gpt4 book ai didi

java - 如何调用抽象类的非静态方法

转载 作者:行者123 更新时间:2023-12-03 06:15:35 26 4
gpt4 key购买 nike

我如何调用抽象类的非静态方法,而不使用其子类或扩展它,因为抽象类和子类太复杂,所以我不想造成任何副作用。

例如,可以使用类名和点运算符来调用抽象类的具体静态方法,而无需创建子类。类似的是有什么方法可以调用非静态方法。

我只想运行一个方法,不想运行任何其他代码。我尝试使用反射,但它需要实例

最佳答案

抽象类是抽象,这意味着您无法创建该类的实例。

因此,您无法调用抽象类的实例方法

public abstract class Foo {
static void bar();
void foobar();
}

您可以调用 Foo.bar(),因为它不是实例方法(意味着它不需要类的实例),但您不能调用 foobar() 因为你不能执行 new Foo().foobar().

Foo.bar(); // OK, we don't need an instance.

Foo foo = new Foo(); // Not OK - we cannot instantiate an abstract class.
foo.foobar();
<小时/>

有关创建抽象类实例而不必使用派生类的方法,请参阅 ernest_k's answer利用匿名类

关于java - 如何调用抽象类的非静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51648365/

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