私が知ったように、Javaメソッドのオーバーロードでは、すべてのオーバーロードされたメソッドに同じ名前が使用されます。また、その戻り値の型は問題ではありません。しかし、以下の例のように、スタティックフォームと非スタティックフォームと同じメソッドを使用するとどうなりますか?このメソッドのオーバーロードを検討できますか?静的メソッドと非静的メソッドの両方でオーバーロードされるメソッド
class Adder {
static int add(int a, int b) {
return a + b;
}
int add(int a, int b, int c) {
return a + b + c;
}
}
class Test {
public static void main(String[] args) {
Adder a1 = new Adder();
System.out.println(Adder.add(11, 11));
System.out.println(a1.add(11, 11, 51));
}
}
私はいくつかの記事を読んで、彼らは私の質問を明確にしませんでした。
このコードを自分でテストしましたか? 2つのメソッドは同じシグネチャを持っていないので、JVMがどのメソッドを呼び出すかを知る能力に関して静的である必要はありません。 –
このスレッドを読むこのスレッドを読むhttp://stackoverflow.com/questions/2475259/can-i-override-and-overload-static-methods-in-java –
はい、私はすでにこのコードを実行しており、エラーなく実行されます。私が望むのは、この背後にある概念を知ることです。リンクありがとうございました:) – Kash