public abstract class Test {
public static void test(){
}
public abstract void test();
}
我觉得这样可以的啊~~为什么编译失败。
伊谢尔伦2017-04-17 18:02:38
これは、Java ではインスタンス オブジェクトでクラスの静的メソッドを呼び出すことができるため、静的メソッドとインスタンス メソッドのシグネチャを同じにすることはできないためです。次の例を参照してください。
リーリー阿神2017-04-17 18:02:38
JVM は誰を実行すべきだと思いますか?
たとえすべてが通常のメソッドであっても、同じ名前と同じパラメータを持つことはできません。jvm は愚かになります。
ringa_lee2017-04-17 18:02:38
メソッド シグネチャ: メソッドの一意性は、メソッド名 と パラメータ データ型
によって決まります。上記 2 つのメソッドのメソッド名とパラメーターに一貫性があるため、コンパイル プロセス中にエラーが発生します
TestMethod.java:6: エラー: メソッド test()
はクラス TestMethod ですでに定義されています リーリー
これは Java の 動的バインディング 機能
に関連しています。