In last week’s development snapshot, IKVM added experimental support for static methods in interfaces and default interfaces methods. These Java 8 features are primarily to support the internal workings of Java libraries. Jeroen Frijters isn’t expecting to have a good interopt story when it comes to mixing these features with other .NET languages.

Static methods in interfaces are just what they sound like, fully implemented static methods stored within an interface’s namespace instead of a class. They were proposed as part of Project Coin.

Default interfaces methods allow Java developers to treat abstract interfaces as if they were abstract base classes. The default methods are overridable like other interface methods, but can be added without a causing breaking change to the interface. Unlike extension methods, which are a purely language concept, default interface methods require runtime support.