1. La liste vide est représentée par la constante null. Si p est null, p.next échoue en levant une exception.
  2. Au plus simple :
    List p = new List (1, new List (2, new List (3, null))) ;


  3. Le mot-clé this représente l'objet lui-même (ici en cours de création, puisque nous somme dans un constructeur). Ici this.val désigne le champ val de l'objet this.

    On a tendance à ne pas expliciter this, mais ici, si on écrit val tout court, on fait référence à l'argument homonyme. Pour éviter l'emploi explicite de this, il suffit ici de renommer les arguments du constructeur.
     List (int v, List n) {
        val = v ; next = n ;
      }
    }