2017-08-28 6 views
-1

Dans le code suivantJava classe interne (mise en œuvre unique de liste chaînée)

  1. pourquoi « tête de noeud » est maintenue en dehors du noeud de classe interne?
  2. Puisque la classe de noeud est définie après l'écriture de "tête de noeud", crée-t-elle n'importe quel problème?
  3. Pourquoi la classe interne est-elle définie comme statique?

    classe LinkedList { tête de noeud; // tête de liste

    /* Linked list Node. This inner class is made static so that 
        main() can access it */ 
    static class Node { 
        int data; 
        Node next; 
        Node(int d) { data = d; next=null; } // Constructor 
    } 
    
+2

Toutes vos questions sont à peu près répondu dans les commentaires de code. Et # 2 - il compile, donc pas –

Répondre

0

1) La tête est définie en dehors de la classe interne car la classe interne n'a pas besoin d'un champ "Tête", mais la classe externe le fait.

2) Non, ce n'est pas le cas.

3) Comme le dit le commentaire, il est défini comme statique de sorte que main() puisse y accéder.