Stateless traits & default interface methods question

Millies, Sebastian Sebastian.Millies at softwareag.com
Wed Nov 13 09:14:02 PST 2013


Hi Matthew,

I've just tested this, and you'll get the implementation at time t1, i. e. the implementation as it is at runtime.
However, I don't know by what mechanism.

-- Sebastian

-----Original Message-----
From: lambda-dev-bounces at openjdk.java.net [mailto:lambda-dev-bounces at openjdk.java.net] On Behalf Of Matthew Adams
Sent: Wednesday, November 13, 2013 5:50 PM
To: lambda-dev at openjdk.java.net
Subject: Stateless traits & default interface methods question

_Note: This may be a FAQ.  RTFMs are fine._

I have a question about default interface methods, thinking in terms of stateless traits.

Assume at time t0 I define an interface I with a given default method implementation and class C implements I.  Later, at time t1, I modify the implementations of I's default methods _without_ recompiling C.  The next time that I execute a method on C that came from a default method on I, do I get I's implementation as it was at t0 or t1?

In other words, are default method implementations woven into classes at compile time, do classes delegate to the interface's default method implementation at runtime, or is it via some other mechanism?

-matthew
--
mailto:matthew at matthewadams.me <matthew at matthewadams.me>
skype:matthewadams12
googletalk:matthew at matthewadams.me
http://matthewadams.me
http://www.linkedin.com/in/matthewadams


Software AG – Sitz/Registered office: Uhlandstraße 12, 64297 Darmstadt, Germany – Registergericht/Commercial register: Darmstadt HRB 1562 - Vorstand/Management Board: Karl-Heinz Streibich (Vorsitzender/Chairman), Dr. Wolfram Jost, Arnd Zinnhardt; - Aufsichtsratsvorsitzender/Chairman of the Supervisory Board: Dr. Andreas Bereczky - http://www.softwareag.com



More information about the lambda-dev mailing list