0

最初に2セットのコードがあり、カスタム文字列クラスを定義してそのインスタンスを作成しようとしていますが、2番目にカスタムシステムクラスを定義してそのインスタンスを作成しようとしています。

これは面接の質問でも宿題でもありません。これを確認してから試してみまし

これで、私が定義した String クラスのインスタンスを作成しようとしています。Exception in thread "main" java.lang.NoSuchMethodError: main

public class Test {
    public static void main(String[] args) throws Exception {
        String s = new String();
        java.lang.System.out.println("done");
    }
}

class String {
    public String() {
        java.lang.System.out.println("custom String");
    }
}

この部分では、私が定義した System クラスのインスタンスを作成しようとしていますが、うまくいきました

public class Test {
    public static void main(String[] args) throws Exception {
        System s = new System();
        java.lang.System.out.println("done");
    }
}
class System {
    public System(){
        java.lang.System.out.println("custom System");
    }
}

String クラスも System クラスも final なのに、なぜ動作に違いがあるのでしょうか??

4

1 に答える 1

2

これは、パラメータとして受け入れる標準メソッド (エントリ ポイント) と一致しない引数タイプとしてmainカスタム クラスを使用しているために発生しています。したがって、不平を言う。Stringmainjava.lang.String[]

クラスを次のmainように使用するように変更します。java.lang.String

       public static void main(java.lang.String[] args)
于 2012-11-29T05:39:36.543 に答える