2017-06-11 2 views
-1

javaで変数をサブクラスの名前で宣言できますか?リンクされたリストに関するこのコードは非常に混乱しています。リストの先頭がどのように宣言されているかを見てください。誰かが説明できますか?変数はjavaでクラス名のみを使用して宣言できますか?

 
class LinkedList 
{ 
    Node head; // head of list 

    /* Linked list Node*/ 
    class Node 
    { 
     int data; 
     Node next; 

     // Constructor to create a new node 
     // Next is by default initialized 
     // as null 
     Node(int d) 
      { 
       data = d; 
      } 
    } 
} 
+1

サブクラスではなく内部クラスです。 – davidxxx

+1

何が紛らわしいですか? – davidxxx

+0

参照は、アクセス可能な型であると宣言できます。それがここで起こっているすべてです。 –

答えて

1

はい、オブジェクトは、実際にインスタンスメンバーと同じタイプの別のオブジェクトへの参照を含むことができます。例えば

class Node { 
    int value; 
    Node next; 
    ... 
} 

以降、

Node root = new Node(10); 
System.out.println(root.next); // should be null 
root.next = new Node(5); 
System.out.println(root.next.value) // should be 5 

は、リンクリストの定番の定義です。現在のノードは、リンクされたリストの次のノードの参照を指し示す必要があります。

+0

オブジェクト?オブジェクトはまだ呼び出されていません。 –

+0

@AsmaRahimAliJafriそうですね、そのための例を提供しているはずです。私の悪い、ありがとう。 –

関連する問題