anchor.diff:  ----
   Op deze manier krijg één van de twee methodes een body en blijft er maar één abstract method over. Hierdoor blijft ook deze interface een `Functional interface` en kan deze derhalve als `lambda` gebruikt worden. +
   
  -Met `default methods` wordt het nu bijvoorbeeld ook mogelijk om multiple inheritance te gebruiken. 
  +Een andere plek waar ikzelf `Default methods` gebruik is in unit-tests. De tests zijn vaak hetzelfde, alleen de manier waarop ze hun input krijgen niet. De tests zijn dan geïmplementeerd als `Default methods` en er zijn `Abstract methods` toegevoegd om de tests van hun input te voorzien. +
  +
  +Daarnaast wordt het met `default methods` bijvoorbeeld ook mogelijk om multiple inheritance te gebruiken. 
   
   === Multiple inheritance
   Multiple inheritance wordt als volgt omschreven door https://en.wikipedia.org/wiki/Multiple_inheritance[wikipedia]:  *_Multiple inheritance_* _is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class._ +
   
  -In Java 8 is dat deels mogelijk gemaakt d.m.v. interfaces met default methods. Ik zeg hier heel bewust deels, omdat het multiple inheritance m.b.t. state niet mogelijk is, omdat interface geen state hebben. 
  +In Java 8 is dat deels mogelijk gemaakt d.m.v. interfaces met default methods. Ik zeg hier heel bewust deels, omdat het multiple inheritance m.b.t. state niet mogelijk is, omdat interface geen state hebben. Hier een klein voorbeeld. 
  +
   [source, java]
   ----
   public interface Logger
  
positive.code: 			.collect(toList());
  }
  ----
  Doordat dit wel iets zou veranderen aan de aanroep van de methode, de juiste class moet namelijk meegegeven worden, heb ik de methodes wel in de enums laten zien, maar ziet de implementatie nu nog zo uit.
  
  [source, java]
  ----
  
negative.code: 	}
  }
  ----
  Zoals te zien is kan LoggingAdder de `Default methods` van zowel Logger als Adder gebruiken. op deze manier is `Multiple inheritance` mogelijk gemaakt. Dit zijn features die wij ook toe zouden kunnen en hopelijk op die manier onze, vaak zeer uitgebreide, class-hierarchy wat meer te structureren.
  
  === Multiple inheritance problem
  Met het mogelijk maken van multiple inheritance komt wel een volgend probleem om de hoek kijken. Het zogenaamde `Daimond problem`. Dit wil zeggen dat wanneer er meerdere interfaces met dezelfde default method worden geïmplementeerd, de compiler niet meer weet welke methode gebruikt moet worden. Dit kan opgelost worden door in die class de methode te overriden en dan expliciet aan te geven van welke interface de methode gebruikt moet worden. Dit ziet er dan alsvolgt uit.
  