logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Operators and Assignments See What Others Are Saying!
  • Question
  • What will be the output of the program?
    class Two 
    {
        byte x;
    }
    
    class PassO 
    {
        public static void main(String [] args) 
        {
            PassO p = new PassO();
            p.start();
        }
    
        void start() 
        {
            Two t = new Two();
            System.out.print(t.x + " ");
            Two t2 = fix(t);
            System.out.println(t.x + " " + t2.x);
        }
    
        Two fix(Two tt) 
        {
            tt.x = 42;
            return tt;
        }
    }
    


  • Options
  • A. null null 42
  • B. 0 0 42
  • C. 0 42 42
  • D. 0 0 0

  • Correct Answer
  • 0 42 42 

    Explanation
    In the fix() method, the reference variable tt refers to the same object (class Two) as the t reference variable. Updating tt.x in the fix() method updates t.x (they are one in the same object). Remember also that the instance variable x in the Two class is initialized to 0.

    More questions

    • 1. Which of the following line of code is suitable to start a thread?
      class X implements Runnable 
      { 
          public static void main(String args[]) 
          {
              /* Missing code? */
          } 
          public void run() {} 
      }
      

    • Options
    • A. Thread t = new Thread(X);
    • B. Thread t = new Thread(X); t.start();
    • C. X run = new X(); Thread t = new Thread(run); t.start();
    • D. Thread t = new Thread(); x.run();
    • Discuss
    • 2. What will be the output of the program?
      try 
      {
          Float f1 = new Float("3.0");
          int x = f1.intValue();
          byte b = f1.byteValue();
          double d = f1.doubleValue();
          System.out.println(x + b + d);
      }
      catch (NumberFormatException e) /* Line 9 */
      {
          System.out.println("bad number"); /* Line 11 */
      }
      

    • Options
    • A. 9.0
    • B. bad number
    • C. Compilation fails on line 9.
    • D. Compilation fails on line 11.
    • Discuss
    • 3. What will be the output of the program?
      String a = "newspaper";
      a = a.substring(5,7);
      char b = a.charAt(1);
      a = a + b;
      System.out.println(a);
      

    • Options
    • A. apa
    • B. app
    • C. apea
    • D. apep
    • Discuss
    • 4. Which statement is true?

    • Options
    • A. The notifyAll() method must be called from a synchronized context.
    • B. To call wait(), an object must own the lock on the thread.
    • C. The notify() method is defined in class java.lang.Thread.
    • D. The notify() method causes a thread to immediately release its locks.
    • Discuss
    • 5. Which statement is true?
      class Test1 
      {
          public int value;
          public int hashCode() { return 42; }
      }
      class Test2 
      {
          public int value;
          public int hashcode() { return (int)(value^5); }
      }
      

    • Options
    • A. class Test1 will not compile.
    • B. The Test1 hashCode() method is more efficient than the Test2 hashCode() method.
    • C. The Test1 hashCode() method is less efficient than the Test2 hashCode() method.
    • D. class Test2 will not compile.
    • Discuss
    • 6. Assuming that the equals() and hashCode() methods are properly implemented, if the output is "x = 1111", which of the following statements will always be true?
      x = 0;
      if (x1.hashCode() != x2.hashCode() )  x = x + 1;
      if (x3.equals(x4) )  x = x + 10;
      if (!x5.equals(x6) ) x = x + 100;
      if (x7.hashCode() == x8.hashCode() )  x = x + 1000;
      System.out.println("x = " + x);
      

    • Options
    • A. x2.equals(x1)
    • B. x3.hashCode() == x4.hashCode()
    • C. x5.hashCode() != x6.hashCode()
    • D. x8.equals(x7)
    • Discuss
    • 7. The static method Thread.currentThread() returns a reference to the currently executing Thread object. What is the result of this code?
      class Test 
      {
          public static void main(String [] args) 
          {
              printAll(args);
          }
      
          public static void printAll(String[] lines) 
          {
              for(int i = 0; i < lines.length; i++)
              {
                  System.out.println(lines[i]);
                  Thread.currentThread().sleep(1000);
              }
          }
      }
      

    • Options
    • A. Each String in the array lines will output, with a 1-second pause.
    • B. Each String in the array lines will output, with no pause in between because this method is not executed in a Thread.
    • C. Each String in the array lines will output, and there is no guarantee there will be a pause because currentThread() may not retrieve this thread.
    • D. This code will not compile.
    • Discuss
    • 8. Which answer most closely indicates the behavior of the program?
      public class MyProgram 
      {
          public static void throwit() 
          {
              throw new RuntimeException();
          }
          public static void main(String args[])
          {
              try 
              {
                  System.out.println("Hello world ");
                  throwit();
                  System.out.println("Done with try block ");
              }
              finally 
              {
                  System.out.println("Finally executing ");
              }
          }
      }
      

    • Options
    • A. The program will not compile.
    • B. The program will print Hello world, then will print that a RuntimeException has occurred, then will print Done with try block, and then will print Finally executing.
    • C. The program will print Hello world, then will print that a RuntimeException has occurred, and then will print Finally executing.
    • D. The program will print Hello world, then will print Finally executing, then will print that a RuntimeException has occurred.
    • Discuss
    • 9. Which two code fragments will compile?
      1. interface Base2 implements Base {}
      2. abstract class Class2 extends Base
        { public boolean m1(){ return true; }}
      3. abstract class Class2 implements Base {}
      4. abstract class Class2 implements Base
        { public boolean m1(){ return (7 > 4); }}
      5. abstract class Class2 implements Base
        { protected boolean m1(){ return (5 > 7) }}
      interface Base 
      {
          boolean m1 ();
          byte m2(short s);
      }
      

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 5
    • Discuss
    • 10. Which statement, if placed in a class other than MyOuter or MyInner, instantiates an instance of the nested class?
      public class MyOuter 
      {
          public static class MyInner 
          {
              public static void foo() { }
          }
      }
      

    • Options
    • A. MyOuter.MyInner m = new MyOuter.MyInner();
    • B. MyOuter.MyInner mi = new MyInner();
    • C. MyOuter m = new MyOuter();

      MyOuter.MyInner mi = m.new MyOuter.MyInner();

    • D. MyInner mi = new MyOuter.MyInner();
    • Discuss


    Comments

    There are no comments.

Enter a new Comment