-1

デフォルト以外のコントラクターを使用して LinearNode クラスを作成しようとしていますが、2 つの引数を渡しています。これを試しましたが、エラーが発生します。理由はありますか?

public class LinearNode<T> (T elem, LinearNode<T> node){
        private LinearNode<T> next = node;
        private T element = elem;
    }

ありがとう!

4

3 に答える 3

2

コンストラクターとクラス定義を混在させました。コンストラクターは特別なメンバー関数であり、多かれ少なかれメソッドのように定義する必要があります (戻り値の型はなく、クラスと同じ名前です)。

public class LinearNode<T> {
    private LinearNode<T> next;
    private T element;

    LinearNode(T elem, LinearNode<T> node) {
        next = node;
        element = elem;
    }
}
于 2012-10-18T22:23:45.970 に答える
1

(arguments)クラス宣言を使用することはできません

また、

privateローカル変数にアクセス指定子を指定することはできません

于 2012-10-18T22:22:01.127 に答える
0

コンストラクターの宣言は、クラスの宣言とは別にする必要があります。そのようです:

public class LinearNode<T>{
    private LinearNode<T> next;
    private T element;
    LinearNode<T>(T elem, LinearNode<T> node){
        next = node;
        element = elem;
   }
}
于 2012-10-18T22:25:20.290 に答える