0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

همانطور که می دانید default method ها در یک interface می توانند پیاده سازی داشته باشند. کد زیر را در نظر بگیرید:

    public interface WithEyes {
        default void lookAround() {
            out.println("I ’m looking ");
        }

        default void blink() {
            out.println("I ’m blinking ");
        }
    }

    public interface Cat extends WithEyes{

        default void blink() {
            System.out.println("blink in Cat");
            super.blink(); // error
        }
        
        default public void purr() {
            out.println(" PuUurRrRr ");
        }
    }

برای دسترسی به پیاده سازی متد blink در اینترفیس WithEyes در متد blink اینترفیس Cat باید چکار کنم؟

1 پاسخ

+2 امتیاز
قبل توسط (1.1هزار امتیاز)
 
بهترین پاسخ

برای این کار باید نام اینترفیسی که می خواهید متد آن را فراخوانی کنید بهمراه کلمه super استفاده کنید:

        default void blink() {
            System.out.println("blink in Cat");
            WithEyes.super.blink();
        }

سوالات مشابه

0 امتیاز
1 پاسخ 378 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
1 پاسخ 359 بازدید
+3 امتیاز
1 پاسخ 857 بازدید
0 امتیاز
1 پاسخ 408 بازدید
+1 امتیاز
2 پاسخ 481 بازدید
0 امتیاز
1 پاسخ 660 بازدید
0 امتیاز
1 پاسخ 800 بازدید
...