ExamVeda
Login
Home
41
What will be the output?
class One{
      final int a = 15;
}

class Two extends One{
      final int a = 20;
}

public class Test extends Two{
      final int a = 30;

      public static void main(String args[]){
            Test t = new One();
            System.out.print(t.a);
      }
}
Discuss
Answer & Solution
Answer: Option D
Solution:

We can't store super class object in subclass reference But we can store subclass object in super class reference.

42
What will be the output?
class A{
      int i = 10;
      public void printValue(){
            System.out.print("Value-A");
      }
}

class B extends A{
      int i = 12;
      public void printValue(){
            System.out.print("Value-B");
      }
}

public class Test{
      public static void main(String args[]){
            A a = new B();
            a.printValue();
            System.out.print(a.i);
      }
}
Discuss
Answer & Solution
Answer: Option B
Solution:

If you create object of subclass with reference of super class like ( A a = new B();) then subclass method and super class variable will be executed.

43
What will be the result after compiling this code?
class SuperClass{
      public int doIt(String str, Integer... data)throws Exception{
            String signature = "(String, Integer[])";
            System.out.println(str + " " + signature);
            return 1;
      }
}

public class Test extends SuperClass{
      public int doIt(String str, Integer... data){
            String signature = "(String, Integer[])";
            System.out.println("Overridden: " + str + " " +signature);
            return 0;
      }

      public static void main(String... args){
            SuperClass sb = new Test();
            sb.doIt("hello", 3);
      }
}
Discuss
Answer & Solution
Answer: Option C
Solution:

Exception must be caught or declared to be thrown.

44
class A{
      A(String s){}

      A(){}
}

class B extends A{
      B(){}
      B(String s){
            super(s);
      }
      void test(){
            // insert code here
      }
}

Which of the below code can be insert at line 7 to make clean compilation ?
Discuss
Answer & Solution
Answer: Option A
No explanation is given for this question. Let's Discuss on Board
45
Determine output:
class A{
      public void printValue(){
            System.out.println("Value-A");
      }
}
class B extends A{
      public void printNameB(){
            System.out.println("Name-B");
      }
}
class C extends A{
      public void printNameC(){
            System.out.println("Name-C");
      }
}

public class Test{
      public static void main (String[] args){
            B b = new B();
            C c = new C();
            newPrint(b);
            newPrint(c);
      }
      public static void newPrint(A a){
            a.printValue();
      }
 }
Discuss
Answer & Solution
Answer: Option B
Solution:

Class B extended Class A therefore all methods of Class A will be available to class B except private methods. Class C has extended Class A therefore all methods of Class A will be available to class C except private methods.

46
Determine output:
class A{
      public void printName(){
            System.out.println("Name-A");
      }
}
class B extends A{
      public void printName(){
            System.out.println("Name-B");
      }
}
class C extends A{
      public void printName(){
            System.out.println("Name-C");
      }
}

public class Test{
      public static void main (String[] args){
           B b = new B();
           C c = new C();
            b = c;
            newPrint(b);
      }
      public static void newPrint(A a){
            a.printName();
      }
}
Discuss
Answer & Solution
Answer: Option C
Solution:

Reference variable can refer to any object of the same type as the declared reference OR can refer to any subtype of the declared type. Reference variable "b" is type of class B and reference variable "c" is a type of class C. So Compilation fails.

47
What is the output for the below code?
class A{
      private void printName(){
            System.out.println("Value-A");
      }
}
class B extends A{
      public void printName(){
            System.out.println("Name-B");
      }
}
public class Test{
      public static void main (String[] args){
            B b = new B();
            b.printName();
      }
}
Discuss
Answer & Solution
Answer: Option B
Solution:

You can not override private method , private method is not availabe in subclass . In this case printName() method a class A is not overriding by the printName() method of class B. printName() method of class B is a different method. So you can call printName() method of class B.

48
What will be the result of compiling and running the given code?
class A{
      int b=10;
      private A(){
            this.b=7;
      }
      int f(){
            return b;
      }
}
class B extends A{
      int b;
}
public class Test{
      public static void main(String[] args){
            A a = new B();
            System.out.println(a.f());
      }
}
Discuss
Answer & Solution
Answer: Option A
Solution:

Choice A is the correct answer.

The code does not compile because the constructor of class A is declared as private. This creates a problem when the subclass constructor makes an implicit super() call to the parent class constructor at the time B is instantiated.

Since the code does not compile, all the other choices are incorrect. If the constructor of A had not been private, the output would have been 7.

49
What will be the result of compiling and executing the following program code?
class Vehicle{
      public void printSound(){
            System.out.print("vehicle");
      }
}
class Car extends Vehicle{
      public void printSound(){
            System.out.print("car");
      }
}
class Bike extends Vehicle{
      public void printSound(){
            System.out.print("bike");
      }
}
public class Test{
      public static void main(String[] args){
            Vehicle v = new Car();
            Bike b = (Bike) v;
        
            v.printSound();
            b.printSound();
      }
}
Discuss
Answer & Solution
Answer: Option B
No explanation is given for this question. Let's Discuss on Board
50
Determine output:
class Small{
      public Small(){
            System.out.print("a ");
      }
}
class Small2  extends Small{
      public Small2(){
            System.out.print("b ");
      }
}
class Small3 extends Small2{
      public Small3(){
            System.out.print("c ");
      }
}
public class Test{     
      public static void main(String args[]){
            new Small3();
      }
}
Discuss
Answer & Solution
Answer: Option C
No explanation is given for this question. Let's Discuss on Board