logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Inner Classes See What Others Are Saying!
  • Question
  • Which one create an anonymous inner class from within class Bar?
    class Boo 
    {
        Boo(String s) { }
        Boo() { }
    }
    class Bar extends Boo 
    {
        Bar() { }
        Bar(String s) {super(s);}
        void zoo() 
        {
        // insert code here
        }
    }
    


  • Options
  • A. Boo f = new Boo(24) { };
  • B. Boo f = new Bar() { };
  • C. Bar f = new Boo(String s) { };
  • D. Boo f = new Boo.Bar(String s) { };

  • Correct Answer
  • Boo f = new Bar() { }; 

    Explanation
    Option B is correct because anonymous inner classes are no different from any other class when it comes to polymorphism. That means you are always allowed to declare a reference variable of the superclass type and have that reference variable refer to an instance of a subclass type, which in this case is an anonymous subclass of Bar. Since Bar is a subclass of Boo, it all works.

    Option A is incorrect because it passes an int to the Boo constructor, and there is no matching constructor in the Boo class.

    Option C is incorrect because it violates the rules of polymorphism—you cannot refer to a superclass type using a reference variable declared as the subclass type. The superclass is not guaranteed to have everything the subclass has.

    Option D uses incorrect syntax.


  • More questions

    • 1. 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
    • 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. Which four options describe the correct default values for array elements of the types indicated?

      1. int -> 0
      2. String -> "null"
      3. Dog -> null
      4. char -> '\u0000'
      5. float -> 0.0f
      6. boolean -> true

    • Options
    • A. 1, 2, 3, 4
    • B. 1, 3, 4, 5
    • C. 2, 4, 5, 6
    • D. 3, 4, 5, 6
    • Discuss
    • 4. Which one of these lists contains only Java programming language keywords?

    • Options
    • A. class, if, void, long, Int, continue
    • B. goto, instanceof, native, finally, default, throws
    • C. try, virtual, throw, final, volatile, transient
    • D. strictfp, constant, super, implements, do
    • E. byte, break, assert, switch, include
    • Discuss
    • 5. Which three are legal array declarations?

      1. int [] myScores [];
      2. char [] myChars;
      3. int [6] myScores;
      4. Dog myDogs [];
      5. Dog myDogs [7];

    • Options
    • A. 1, 2, 4
    • B. 2, 4, 5
    • C. 2, 3, 4
    • D. All are correct.
    • Discuss
    • 6. What will be the output of the program?
      class SC2 
      {
          public static void main(String [] args) 
          {
              SC2 s = new SC2();
              s.start();
          }
      
          void start() 
          {
              int a = 3;
              int b = 4;
              System.out.print(" " + 7 + 2 + " ");
              System.out.print(a + b);
              System.out.print(" " + a + b + " ");
              System.out.print(foo() + a + b + " ");
              System.out.println(a + b + foo());
          }
      
          String foo() 
          {
              return "foo";
          }
      }
      

    • Options
    • A. 9 7 7 foo 7 7foo
    • B. 72 34 34 foo34 34foo
    • C. 9 7 7 foo34 34foo
    • D. 72 7 34 foo34 7foo
    • Discuss
    • 7. What will be the output of the program?
      class Test 
      {
          public static void main(String [] args) 
          {
              int x= 0;
              int y= 0;
              for (int z = 0; z < 5; z++) 
              {
                  if (( ++x > 2 ) || (++y > 2)) 
                  {
                      x++;
                  }
              }
          System.out.println(x + " " + y);
          }
      }
      

    • Options
    • A. 5 3
    • B. 8 2
    • C. 8 3
    • D. 8 5
    • Discuss
    • 8. What will be the output of the program?
      public class Test 
      { 
          public static void leftshift(int i, int j) 
          {
              i <<= j; 
          } 
          public static void main(String args[]) 
          {
              int i = 4, j = 2; 
              leftshift(i, j); 
              System.out.printIn(i); 
          } 
      }
      

    • Options
    • A. 2
    • B. 4
    • C. 8
    • D. 16
    • Discuss
    • 9. What will be the output of the program?
      class PassS 
      {
          public static void main(String [] args) 
          {
              PassS p = new PassS();
              p.start();
          }
      
          void start() 
          {
              String s1 = "slip";
              String s2 = fix(s1);
              System.out.println(s1 + " " + s2);
          }
      
          String fix(String s1) 
          {
              s1 = s1 + "stream";
              System.out.print(s1 + " ");
              return "stream";
          }
      }
      

    • Options
    • A. slip stream
    • B. slipstream stream
    • C. stream slip stream
    • D. slipstream slip stream
    • Discuss
    • 10. What will be the output of the program?
      class PassA 
      {
          public static void main(String [] args) 
          {
              PassA p = new PassA();
              p.start();
          }
      
          void start() 
          {
              long [] a1 = {3,4,5};
              long [] a2 = fix(a1);
              System.out.print(a1[0] + a1[1] + a1[2] + " ");
              System.out.println(a2[0] + a2[1] + a2[2]);
          }
      
          long [] fix(long [] a3) 
          {
              a3[1] = 7;
              return a3;
          }
      }
      

    • Options
    • A. 12 15
    • B. 15 15
    • C. 3 4 5 3 7 5
    • D. 3 7 5 3 7 5
    • Discuss


    Comments

    There are no comments.

Enter a new Comment