我可以静态方法重载非静态方法吗?

时间:2021-03-03 20:38:21

标签: java overloading

如果我有一个方法:

public void doSomething(String str1, String str2){}

下面的方法是否可以重载上面的方法:

public static void doSomething(String str2, String st1){}

1 个答案:

答案 0 :(得分:3)

你问的是过载。但是你展示了一个覆盖的例子。

您可以重载静态方法。

你不能覆盖它们,因为它们不参与多态性。

编辑

起初我以为你的例子是在不同的类中声明这两个方法。那么这将是一个覆盖的例子。

现在我看到如果两个方法都在同一个类上,那么它会模仿一种重载。我的意思是,它们的签名(方法名称和参数类型)是相同的。但是有一个 static 修饰符。

我怀疑这是有效的 Java 代码。

相关问题