logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Declarations and Access Control Comments

  • Question
  • Which is valid in a class that extends class A?
    class A 
    {  
        protected int method1(int a, int b) 
        {
            return 0; 
        } 
    }
    


  • Options
  • A. public int method1(int a, int b) {return 0; }
  • B. private int method1(int a, int b) { return 0; }
  • C. public short method1(int a, int b) { return 0; }
  • D. static protected int method1(int a, int b) { return 0; }

  • Correct Answer
  • public int method1(int a, int b) {return 0; } 

    Explanation
    Option A is correct - because the class that extends A is just simply overriding method1.

    Option B is wrong - because it can't override as there are less access privileges in the subclass method1.

    Option C is wrong - because to override it, the return type needs to be an integer. The different return type means that the method is not overriding but the same argument list means that the method is not overloading. Conflict - compile time error.

    Option D is wrong - because you can't override a method and make it a class method i.e. using static.


  • Declarations and Access Control problems


    Search Results


    • 1. Which of the following code fragments inserted, will allow to compile?
      public class Outer 
      { 
          public void someOuterMethod() 
          {
              //Line 5 
          } 
          public class Inner { } 
          
          public static void main(String[] argv) 
          {
              Outer ot = new Outer(); 
              //Line 10
          } 
      } 
      

    • Options
    • A. new Inner(); //At line 5
    • B. new Inner(); //At line 10
    • C. new ot.Inner(); //At line 10
    • D. new Outer.Inner(); //At line 10
    • Discuss
    • 2. Which is a valid declaration within an interface?

    • Options
    • A. public static short stop = 23;
    • B. protected short stop = 23;
    • C. transient short stop = 23;
    • D. final void madness(short stop);
    • Discuss
    • 3. Given a method in a protected class, what access modifier do you use to restrict access to that method to only the other members of the same class?

    • Options
    • A. final
    • B. static
    • C. private
    • D. protected
    • E. volatile
    • Discuss
    • 4. Which of the following class level (nonlocal) variable declarations will not compile?

    • Options
    • A. protected int a;
    • B. transient int b = 3;
    • C. private synchronized int e;
    • D. volatile int d;
    • Discuss
    • 5. When is the Float object, created in line 3, eligible for garbage collection?
      public Object m() 
      {  
          Object o = new Float(3.14F); 
          Object [] oa = new Object[l];
          oa[0] = o; /* Line 5 */
          o = null;  /* Line 6 */
          oa[0] = null; /* Line 7 */
          return o; /* Line 8 */
      }
      

    • Options
    • A. just after line 5
    • B. just after line 6
    • C. just after line 7
    • D. just after line 8
    • Discuss
    • 6. What is the most restrictive access modifier that will allow members of one class to have access to members of another class in the same package?

    • Options
    • A. public
    • B. abstract
    • C. protected
    • D. synchronized
    • E. default access
    • Discuss
    • 7. Which of the following is/are legal method declarations?

      1. protected abstract void m1();
      2. static final void m1(){}
      3. synchronized public final void m1() {}
      4. private native void m1();

    • Options
    • A. 1 and 3
    • B. 2 and 4
    • C. 1 only
    • D. All of them are legal declarations.
    • Discuss
    • 8. Which two of the following are legal declarations for nonnested classes and interfaces?

      1. final abstract class Test {}
      2. public static interface Test {}
      3. final public class Test {}
      4. protected abstract class Test {}
      5. protected interface Test {}
      6. abstract public class Test {}

    • Options
    • A. 1 and 4
    • B. 2 and 5
    • C. 3 and 6
    • D. 4 and 6
    • Discuss
    • 9. Which three are valid method signatures in an interface?

      1. private int getArea();
      2. public float getVol(float x);
      3. public void main(String [] args);
      4. public static void main(String [] args);
      5. boolean setFlag(Boolean [] test);

    • Options
    • A. 1 and 2
    • B. 2, 3 and 5
    • C. 3, 4, and 5
    • D. 2 and 4
    • Discuss
    • 10. Which three form part of correct array declarations?

      1. public int a [ ]
      2. static int [ ] a
      3. public [ ] int a
      4. private int a [3]
      5. private int [3] a [ ]
      6. public final int [ ] a

    • Options
    • A. 1, 3, 4
    • B. 2, 4, 5
    • C. 1, 2, 6
    • D. 2, 5, 6
    • Discuss


    Comments

    There are no comments.

Enter a new Comment