Page 1 of 1

About Question enthuware.ocpjp.v8.-2-.1827 :

Posted: Sat Jul 09, 2016 9:32 pm
by johnlong
Hi

Explanation says:
You cannot override a static method with a non-static method and vice-versa.

Code: Select all

interface i1{
	static void m1(){}	
}

interface i2 extends i1{
	default void m1(){}
}
But it's possible to override static method with default one.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Sat Jul 09, 2016 10:01 pm
by admin
What you have shown is not overriding. The concept of overriding applies only to instance method.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Wed Jul 25, 2018 8:17 am
by zukras
What "vice-versa" means in this context then? I guess I would suggest to choose different wording. Very confusing.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Wed Jul 25, 2018 8:43 am
by admin
It means you cannot override a non-static method with a static method either. The second line of the explanation already makes it very clear, " You can, however, redeclare a static method of a super interface as a default method in the sub interface."

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Wed Mar 06, 2019 6:20 pm
by crazymind
You can, however, redeclare a static method of a super interface as a default method in the sub interface.
How about redeclare a default method of a super interface as a static method in the sub interface? Option 1 seems correct ...

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Wed Mar 06, 2019 7:49 pm
by admin
What happened when you tried it out?

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Fri Mar 08, 2019 3:46 pm
by crazymind
admin wrote:
Wed Mar 06, 2019 7:49 pm
What happened when you tried it out?
static String getId(){ return "AIN8888"; } }
^
overriding method is static


Why? I am trying to redefine default method to static method not overriding it.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Fri Mar 08, 2019 9:57 pm
by admin
So you can see that it is not allowed. Rule of the language.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Thu Feb 20, 2020 3:34 am
by bvrulez
The explanation to the first (not correct) option is:

"You cannot override a static method with a non-static method. You can, however, redeclare a static method of a super interface as a default method in the sub-interface."

The option was to use "static String getId() {return "AIN8888"; }" to override "public default String...". So, the explanation refers to a different problem and is not fitting the option. The Explanation should say: "You cannot redeclare a default method as a static method in a sub-interface."

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Thu Feb 20, 2020 4:49 am
by admin
You are right. Fixed.
thank you for your feedback!

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Mon Oct 05, 2020 10:42 am
by d0wnvk@gmail.com
admin wrote:
Thu Feb 20, 2020 4:49 am
You are right. Fixed.
Not fixed.
The latest version of question bank is 1/81.

Re: About Question enthuware.ocpjp.v8.2.1827 :

Posted: Tue Oct 06, 2020 12:26 am
by admin
It is fixed. The explanation says, "You cannot override a non-static method with a static method and vice versa.". The last part was not there earlier.