Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #27404
| Path | csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!fx08.iad.POSTED!not-for-mail |
|---|---|
| From | Wayne <nospam@all.invalid> |
| User-Agent | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
| MIME-Version | 1.0 |
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Java 8 question about default and static methods in interfaces |
| References | <JX4Fu.281210$2R1.21049@fx13.iad> <52e505e8$0$294$14726298@news.sunsite.dk> <52e54ff2$0$295$14726298@news.sunsite.dk> |
| In-Reply-To | <52e54ff2$0$295$14726298@news.sunsite.dk> |
| Content-Type | text/plain; charset=UTF-8 |
| Content-Transfer-Encoding | 8bit |
| Lines | 88 |
| Message-ID | <0LiFu.157075$JL1.152266@fx08.iad> (permalink) |
| X-Complaints-To | abuse@newshosting.com |
| NNTP-Posting-Date | Mon, 27 Jan 2014 01:37:00 UTC |
| Organization | Newshosting.com - Highest quality at a great price! www.newshosting.com |
| Date | Sun, 26 Jan 2014 20:37:00 -0500 |
| X-Received-Bytes | 2842 |
| X-Received-Body-CRC | 2573567246 |
| Xref | csiph.com comp.lang.java.programmer:27404 |
Show key headers only | View raw
On 1/26/2014 1:12 PM, Arne Vajhøj wrote:
> On 1/26/2014 7:56 AM, Arne Vajhøj wrote:
>> On 1/26/2014 4:55 AM, Wayne wrote:
>>> public interface Foo {
>>> default void method () {
>>> System.out.println("Foo.method");
>>> }
>>> }
>>> public interface Bar extends Foo {
>>> default void method () {
>>> System.out.println("Bar.method");
>>> }
>>> }
>>>
>>> The question is, can Foo.method be used from Bar.method?
>>> In other words, is the following version of Bar legal?
>>>
>>> public interface Bar extends Foo {
>>> default void method () {
>>> super.method();
>>> System.out.println("Bar.method");
>>> }
>>> }
>>
>> Well - the following compiles and run with Java 8 EA something:
>>
>> public class DefMet {
>> public static void main(String[] args) {
>> Bar o = new C();
>> o.method();
>> }
>> }
>>
>> class C implements Bar {
>> }
>>
>> interface Foo {
>> default void method () {
>> System.out.println("Foo.method");
>> }
>> }
>>
>> interface Bar extends Foo {
>> default void method () {
>> Foo.super.method();
>> System.out.println("Bar.method");
>> }
>> }
>>
>> Note the use of Foo.super instead of just super.
>
> Syntax must be intended for:
>
> public class DefMet2 {
> public static void main(String[] args) {
> Bar o = new C();
> o.method();
> }
> }
>
> class C implements Foo, Bar {
> public void method() {
> Foo.super.method();
> Bar.super.method();
> System.out.println("C.method");
> }
> }
>
> interface Foo {
> default void method () {
> System.out.println("Foo.method");
> }
> }
>
> interface Bar {
> default void method () {
> System.out.println("Bar.method");
> }
> }
>
> Arne
>
>
Thanks!
--
Wayne
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread
Java 8 question about default and static methods in interfaces Wayne <nospam@all.invalid> - 2014-01-26 04:55 -0500
Re: Java 8 question about default and static methods in interfaces Arne Vajhøj <arne@vajhoej.dk> - 2014-01-26 07:56 -0500
Re: Java 8 question about default and static methods in interfaces Arne Vajhøj <arne@vajhoej.dk> - 2014-01-26 13:12 -0500
Re: Java 8 question about default and static methods in interfaces Wayne <nospam@all.invalid> - 2014-01-26 20:37 -0500
csiph-web