1

与えられたクラス賞 :

public class Award {


    /*
     * 
     */

    // fields of the class 

    Award()
    {
        // some initializations


    }

Main からこのコンストラクターを呼び出そうとしています:

    try
    {
        Award myAward = Award.class.getConstructor().newInstance();
        myAward.calculateAward(); 
    }

    catch (Exception e) 
    {
       e.printStackTrace();
    }

しかし、それは例外ブロックに入り、NoSuchMethodException 例外を生成します。

どうしたの ?

ありがとう !

4

2 に答える 2

9

問題は、コンストラクターがそうではないため、コンストラクターを使用または作成するpublic必要があることです。getDeclaredConstructor().newInstance();public

于 2012-05-08T05:37:06.430 に答える
2

Javadocによると:

反映するコンストラクターは、このClassオブジェクトによって表されるクラスのパブリックコンストラクターであり、その仮パラメーターの型は、parameterTypesによって指定されたものと一致します。

コンストラクターはパブリックである必要があるかもしれません。コンストラクターのpublic前にキーワードを追加して、再試行してください。Award

于 2012-05-08T05:37:10.003 に答える