logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Declarations and Access Control See What Others Are Saying!
  • Question
  • 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

  • Correct Answer
  • 3 and 6 

    Explanation
    (3), (6). Both are legal class declarations.

    (1) is wrong because a class cannot be abstract and final?there would be no way to use such a class. (2) is wrong because interfaces and classes cannot be marked as static. (4) and (5) are wrong because classes and interfaces cannot be marked as protected.


    More questions

    • 1. What is the numerical range of char?

    • Options
    • A. 0 to 32767
    • B. 0 to 65535
    • C. -256 to 255
    • D. -32768 to 32767
    • Discuss
    • 2. Assume the following method is properly synchronized and called from a thread A on an object B:

      wait(2000);

      After calling this method, when will the thread A become a candidate to get another turn at the CPU?


    • Options
    • A. After thread A is notified, or after two seconds.
    • B. After the lock on B is released, or after two seconds.
    • C. Two seconds after thread A is notified.
    • D. Two seconds after lock B is released.
    • Discuss
    • 3. Which three are valid declarations of a char?

      1. char c1 = 064770;
      2. char c2 = 'face';
      3. char c3 = 0xbeef;
      4. char c4 = \u0022;
      5. char c5 = '\iface';
      6. char c6 = '\uface';

    • Options
    • A. 1, 2, 4
    • B. 1, 3, 6
    • C. 3, 5
    • D. 5 only
    • Discuss
    • 4. What will be the output of the program?
      class A 
      {
          final public int GetResult(int a, int b) { return 0; } 
      } 
      class B extends A 
      { 
          public int GetResult(int a, int b) {return 1; } 
      } 
      public class Test 
      {
          public static void main(String args[]) 
          { 
              B b = new B(); 
              System.out.println("x = " + b.GetResult(0, 1));  
          } 
      }
      

    • Options
    • A. x = 0
    • B. x = 1
    • C. Compilation fails.
    • D. An exception is thrown at runtime.
    • Discuss
    • 5. What will be the output of the program?
      public class Switch2 
      {
          final static short x = 2;
          public static int y = 0;
          public static void main(String [] args) 
          {
              for (int z=0; z < 4; z++) 
              {
                  switch (z) 
                  {
                      case x: System.out.print("0 ");
                      default: System.out.print("def ");
                      case x-1: System.out.print("1 ");  
                                  break;
                      case x-2: System.out.print("2 ");
                  }
              }
          }
      }
      

    • Options
    • A. 0 def 1
    • B. 2 1 0 def 1
    • C. 2 1 0 def def
    • D. 2 1 0 def 1 def 1
    • Discuss
    • 6. What will be the output of the program?
      import java.util.*; 
      class H 
      {
          public static void main (String[] args) 
          { 
              Object x = new Vector().elements(); 
              System.out.print((x instanceof Enumeration)+","); 
              System.out.print((x instanceof Iterator)+","); 
              System.out.print(x instanceof ListIterator); 
          } 
      }
      

    • Options
    • A. Prints: false,false,false
    • B. Prints: false,false,true
    • C. Prints: false,true,false
    • D. Prints: true,false,false
    • Discuss
    • 7. Which statement is true?

    • Options
    • A. A try statement must have at least one corresponding catch block.
    • B. Multiple catch statements can catch the same class of exception more than once.
    • C. An Error that might be thrown in a method must be declared as thrown by that method, or be handled within that method.
    • D. Except in case of VM shutdown, if a try block starts to execute, a corresponding finally block will always start to execute.
    • Discuss
    • 8. Which statement is true about assertions in the Java programming language?

    • Options
    • A. Assertion expressions should not contain side effects.
    • B. Assertion expression values can be any primitive type.
    • C. Assertions should be used for enforcing preconditions on public methods.
    • D. An AssertionError thrown as a result of a failed assertion should always be handled by the enclosing method.
    • Discuss
    • 9. What will be the output of the program?
      String s = "ABC"; 
      s.toLowerCase(); 
      s += "def"; 
      System.out.println(s);
      

    • Options
    • A. ABC
    • B. abc
    • C. ABCdef
    • D. Compile Error
    • Discuss
    • 10. What will be the output of the program?
      class Super 
      { 
          public Integer getLength() 
          {
              return new Integer(4); 
          } 
      } 
      
      public class Sub extends Super 
      { 
          public Long getLength() 
          {
              return new Long(5); 
          } 
      
          public static void main(String[] args) 
          { 
              Super sooper = new Super(); 
              Sub sub = new Sub(); 
              System.out.println( 
              sooper.getLength().toString() + "," + sub.getLength().toString() ); 
          } 
      }
      

    • Options
    • A. 4, 4
    • B. 4, 5
    • C. 5, 4
    • D. Compilation fails.
    • Discuss


    Comments

    There are no comments.

Enter a new Comment