如果我有一个方法:
public void doSomething(String str1, String str2){}
下面的方法是否可以重载上面的方法:
public static void doSomething(String str2, String st1){}
答案 0 :(得分:3)
你问的是过载。但是你展示了一个覆盖的例子。
您可以重载静态方法。
你不能覆盖它们,因为它们不参与多态性。
编辑
起初我以为你的例子是在不同的类中声明这两个方法。那么这将是一个覆盖的例子。
现在我看到如果两个方法都在同一个类上,那么它会模仿一种重载。我的意思是,它们的签名(方法名称和参数类型)是相同的。但是有一个 static
修饰符。
我怀疑这是有效的 Java 代码。