2017-10-30 15 views
0

今私がインポートされているように、ネストされたNodeクラスが含まれている私のJavaプログラムで、単一リンクのクラス:SLLクラス内にNodeクラスをネストする方法を教えてください。

public class SLList<T> extends AbstractQueue<T> { 
class Node { 
    T x; 
    Node next; 
} 
// 
//Some more code 
// 
} 

私は具体的には、今

Queue<Integer> mySLL=new SLList<Integer>(); 

ジェネリック

として私SLListクラスをインスタンス化し、私は2つのノード(私の場合は整数)を取り、それらのノードのリンクだけを切り替えて、単一リンクリストに場所を切り替えることができるようにしたい。しかし、インスタンス化しようとするとノードにアクセスできません。これまでに、私はこれを試しました:

SLList.Node myNode= mySLL.new Node(); 

しかし、それはノード()を見つけることができないと言います。私は成功裏にノードを呼び出すことができる方法はありますか? 乾杯

答えて

0

エラーはcripticですが、Nodeは、SLListのインスタンスをインスタンス化する必要があるという問題があります。

あなたがこのために使用する構文は、(離れて、生タイプを使用してからの)正しい:

Queue<Integer> mySLL = new SLList<Integer>(); 
SLList.Node myNode = mySLL.new Node(); 

しかし、mySLLそれはQueueだ、ここSLListではありません。

SLList<Integer> mySLL = new SLList<>();  
SLList<Integer>.Node myNode = mySLL.new Node(); // now works 

あなたは SLListとして mySLLを宣言することができ、問題を修正するには
関連する問題