1
interface G {
    default void print() {
        System.out.println("G");
    }
}
class M {
    public void print() {
        System.out.println("M");
    }
}
class GImpl extends M implements G {}
public class Wierd {
    public static void main(String[] args) {
        G g=new GImpl();
        g.print();
    }
}

インターフェイスでデフォルトのメソッドを使用しようとしていましたが、Eclipse でコンパイルすると 2 行目でエラーが発生します - デフォルトの削除と表示されますが、コマンド プロンプトでコンパイルして実行すると正常に動作しますが、これの理由は何でしょうか?

4

2 に答える 2

2
  • あなたのEclipseはまだJava8バージョンを使用していません.8未満である可能性があることを確認してください.
  • 確認するために使用System.out.println(System.getProperty("java.runtime.version"));します。
  • また、Eclipse でプロジェクトのビルド パスとコンパイラ レベルを変更する必要がある場合もあります。

さらに重要:

Java™ 8 サポートのインストール。

于 2014-07-04T12:27:10.667 に答える