Discussion :: Declarations and Access Control
-
which two code fragments will compile?interface Base { boolean m1 (); byte m2(short s); }
- interface Base2 implements Base {}
- abstract class Class2 extends Base
{ public boolean m1(){ return true; }} - abstract class Class2 implements Base {}
- abstract class Class2 implements Base
{ public boolean m1(){ return (7 > 4); }} - abstract class Class2 implements Base
{ protected boolean m1(){ return (5 > 7) }}
Answer : Option C
Explanation :
(3) is correct because an abstract class doesn't have to implement any or all of its interface's methods. (4) is correct because the method is correctly implemented ((7 > 4) is a boolean).
(1) is incorrect because interfaces don't implement anything. (2) is incorrect because classes don't extend interfaces. (5) is incorrect because interface methods are implicitly public, so the methods being implemented must be public.
Be The First To Comment