• Courses
  • Tutorials
  • Jobs
  • Practice
  • Contests

Java Inheritance

Question 1

Which of the following is true about inheritance in Java?

1) Private methods are final.
2) Protected members are accessible within a package and 
   inherited classes outside the package.
3) Protected methods are final.
4) We cannot override private methods. 
  • 1, 2 and 4
  • Only 1 and 2
  • 1, 2 and 3
  • 2, 3 and 4

Question 2

Output of following Java program? Java
class Base {
    public void Print() {
        System.out.println(\"Base\");
    }         
}

class Derived extends Base {    
    public void Print() {
        System.out.println(\"Derived\");
    }
}

class Main{
    public static void DoPrint( Base o ) {
        o.Print();   
    }
    public static void main(String[] args) {
        Base x = new Base();
        Base y = new Derived();
        Derived z = new Derived();
        DoPrint(x);
        DoPrint(y);
        DoPrint(z);
    }
}
  • Base
    Derived
    Derived
  • Base
    Base
    Derived
  • Base
    Derived
    Base
  • Compiler Error

Question 3

Predict the output of following program. Note that fun() is public in base and private in derived. C
class Base {
    public void foo() { System.out.println(\"Base\"); }
}
 
class Derived extends Base {
    private void foo() { System.out.println(\"Derived\"); } 
}
 
public class Main {
    public static void main(String args[]) {
        Base b = new Derived();
        b.foo();
    }
} 
  • Base
  • Derived
  • Compiler Error
  • Runtime Error

Question 4

Predict the output of following Java Program Java
// filename Main.java
class Grandparent {
    public void Print() {
        System.out.println(\"Grandparent\'s Print()\");
    }
}
 
class Parent extends Grandparent {
    public void Print() {
        System.out.println(\"Parent\'s Print()\");
    }
}
 
class Child extends Parent {
    public void Print() {
        super.super.Print(); 
        System.out.println(\"Child\'s Print()\");
    }
}
 
public class Main {
    public static void main(String[] args) {
        Child c = new Child();
        c.Print();
    }
}
  • Compiler Error in super.super.Print()
  • Grandparent\'s Print()
    Parent\'s Print()
    Child\'s Print()
  • Runtime Error

Question 5

Output of following Java Program? Java
class Base {
    public void show() {
       System.out.println(\"Base::show() called\");
    }
}
 
class Derived extends Base {
    public void show() {
       System.out.println(\"Derived::show() called\");
    }
}
 
public class Main {
    public static void main(String[] args) {
        Base b = new Derived();;
        b.show();
    }
}
  • Derived::show() called
  • Base::show() called

Question 6

Which of the following is true about inheritance in Java. 1) In Java all classes inherit from the Object class directly or indirectly. The Object class is root of all classes. 2) Multiple inheritance is not allowed in Java. 3) Unlike C++, there is nothing like type of inheritance in Java where we can specify whether the inheritance is protected, public or private.
  • 1, 2 and 3
  • 1 and 2
  • 2 and 3
  • 1 and 3

Question 7

C
final class Complex {

    private final double re;
    private final double im;

    public Complex(double re, double im) {
        this.re = re;
        this.im = im;
    }

    public String toString() {
        return \"(\" + re + \" + \" + im + \"i)\";
    }
}

class Main {
  public static void main(String args[])
  {
       Complex c = new Complex(10, 15);
       System.out.println(\"Complex number is \" + c);
  }         
}
  • Complex number is (10.0 + 15.0i)
  • Compiler Error
  • Complex number is SOME_GARBAGE
  • Complex number is Complex@8e2fb5
    Here 8e2fb5 is hash code of c

Question 8

Java
class Base {
    final public void show() {
       System.out.println(\"Base::show() called\");
    }
}
 
class Derived extends Base {
    public void show() {
       System.out.println(\"Derived::show() called\");
    }
}
 
class Main {
    public static void main(String[] args) {
        Base b = new Derived();;
        b.show();
    }
}
  • Base::show() called
  • Derived::show() called
  • Compiler Error
  • Runtime Error

Question 9

\Java\
class Base {
    public static void show() {
       System.out.println(\"Base::show() called\");
    }
}
 
class Derived extends Base {
    public static void show() {
       System.out.println(\"Derived::show() called\");
    }
}
 
class Main {
    public static void main(String[] args) {
        Base b = new Derived();
        b.show();
    }
}
  • Base::show() called
  • Derived::show() called
  • Compiler Error

There are 9 questions to complete.

Last Updated :
Take a part in the ongoing discussion