Home / Java Programming / Declarations and Access Control :: Discussion

Discussion :: Declarations and Access Control

  1. interface DoMath  {     double getArea(int rad);  } interface MathPlus  {     double getVol(int b, int h);  } /* Missing Statements ? */ 
    which two code fragments inserted at end of the program, will allow to compile?
    1. class AllMath extends DoMath { double getArea(int r); }
    2. interface AllMath implements MathPlus { double getVol(int x, int y); }
    3. interface AllMath extends DoMath { float getAvg(int h, int l); }
    4. class AllMath implements MathPlus { double getArea(int rad); }
    5. abstract class AllMath implements DoMath, MathPlus { public double getArea(int rad) { return rad * rad * 3.14; } }

  2. A.
    1 only
    B.
    2 only
    C.
    3 and 5
    D.
    1 and 4

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    (3) are (5) are correct because interfaces and abstract classes do not need to fully implement the interfaces they extend or implement (respectively).

    (1) is incorrect because a class cannot extend an interface. (2) is incorrect because an interface cannot implement anything. (4) is incorrect because the method being implemented is from the wrong interface.


Be The First To Comment