-1

私は両端キューの実装に取り​​組んでいます。リストの項目を表す内部クラス Node を持つクラス Deque があります。次のように、Deque (それ自体がパブリック クラス) 内でクラスを宣言します。

public class Node(){
//
}

基本的なオブジェクト作成構文を使用して新しいノードを作成することは、Deque クラス内で簡単に行うことができます。

Node newNode = newNode(arg1);

ただし、別のクラス (単体テストを提供する DequeTest クラス) から新しいノードを宣言できるようにしたいと考えています。上記の構文で新しい Node を作成しようとすると、Node クラスが表示されないというエラーが表示されます。事前定義された API に取り組んでいるため、新しいパブリック メソッドを作成できません。新しい Node を返すプライベートな createNode() メソッドは最適でしょうか? Node キーワードを使用してもコンパイラがエラーをスローするため、それでも機能しないようです。

4

1 に答える 1

0

ありえない。それが内部クラスを作成する要点です。それは親のためだけです。なぜあなたはしたいですか?他の場所で使用している場合はNode、どのクラスにも属していないため、そもそも内部クラスであってはなりません。public Node クラスを作成してから、別の内部クラスを からサブクラス化することを検討してNodeください。
参照: API ドキュメントについてはこちら。

于 2013-02-18T00:21:03.200 に答える