public class LinkedList { // Tämä päätason apurajapinta on määritelty static-tyyppiseksi jäseneksi. public interface Linkable { public Linkable getNext(); public void setNext(Linkable node); } // Listan ensimmäinen solmu on Linkable-olio. Linkable head; // Metodien rungot jätetty pois. public void insert(Linkable node) { ... } public remove(Linkable node) { ... } } // Tässä luokassa on määritelty solmu, jollaisia listaan halutaan laittaa. // Huomaa implements-määreessä oleva sisemmän rajapinnan nimi. class LinkableInteger implements LinkedList.Linkable { // Tässä on solmun tiedot ja konstruktori. int i; public LinkableInteger(int i) { this.i = i; } // Tässä metodit, joita tarvitaan rajapinnan toteuttamiseksi. LinkedList.Linkable next; public LinkedList.Linkable getNext() { return next; } public void setNext(LinkedList.Linkable node) { next = node; } }