please review draft JEP: Convenience Factory Methods for Collections (original) (raw)
Tom Hawtin tom.hawtin at oracle.com
Fri Jul 18 02:46:31 UTC 2014
- Previous message: Different notations for static and instance methods
- Next message: please review draft JEP: Convenience Factory Methods for Collections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 17/07/2014 22:56, Stuart Marks wrote:
On 7/17/14 12:46 AM, Tom Hawtin wrote:
I note that with the basic proposal, HashSet.of and indeed NavigableSet.of still work. They just do the wrong thing. I should have made more clear in the JEP that the proposed APIs are static methods on the List/Map/Set interfaces, not default methods. Thus they won't be inherited by any subinterfaces or implementors.
Ah, static methods of interfaces behave differently to class methods. The language corner case I'm missing is in 8.4.8 (of Java SE 8 JLS) for classes
"A class does not inherit static methods from its superinterfaces."
and 9.2 for interfaces (if I've parsed this correctly)
"The interface inherits, from the interfaces it extends, all members of those interfaces, except for fields, classes, and interfaces that it hides; abstract or default methods that it overrides (9.4.1); and static methods."
Tom
- Previous message: Different notations for static and instance methods
- Next message: please review draft JEP: Convenience Factory Methods for Collections
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]