Inheritance Output Questions
https://javaconceptoftheday.com/java-inheritance-practice-coding-questions/
1)
Class A
{ int i = 10;}class B extends A{ int i = 20;}public class MainClass{ public static void main(String[] args) { A a = new B(); System.out.println(a.i); }}
Answer : 10
2)
class A{ { System.out.println(1); }} class B extends A{ { System.out.println(2); }} class C extends B{ { System.out.println(3); }} public class MainClass{ public static void main(String[] args) { C c = new C(); }}
Output 123
3)
class A{ String s = "Class A";} class B extends A{ String s = "Class B"; { System.out.println(super.s); }} class C extends B{ String s = "Class C"; { System.out.println(super.s); }} public class MainClass{ public static void main(String[] args) { C c = new C(); System.out.println(c.s); }}
output: Class A
Class B
Class C
4)
class A{ static { System.out.println("THIRD"); }} class B extends A{ static { System.out.println("SECOND"); }} class C extends B{ static { System.out.println("FIRST"); }} public class MainClass{ public static void main(String[] args) { C c = new C(); }}
Output:THIRD
SECOND
FIRST
5)
class A{ public A() { System.out.println("Class A Constructor"); }} class B extends A{ public B() { System.out.println("Class B Constructor"); }} class C extends B{ public C() { System.out.println("Class C Constructor"); }} public class MainClass{ public static void main(String[] args) { C c = new C(); }}
Answer :
Class A Constructor
Class B Constructor
Class C Constructor
6)
class X{ public X(int i) { System.out.println(1); }} class Y extends X{ public Y() { System.out.println(2); }}
Error : Write explicit calling statement to super class constructor in Class Y constructor.need to insert super(1);
8)
class M{ int i = 51; public M(int j) { System.out.println(i); this.i = j * 10; }} class N extends M{ public N(int j) { super(j); System.out.println(i); this.i = j * 20; }} public class MainClass{ public static void main(String[] args) { N n = new N(26); System.out.println(n.i); }}
Answer :
51
260
520
9)
class M{ int i; public M(int i) { this.i = i--; }} class N extends M{ public N(int i) { super(++i); System.out.println(i); }} public class MainClass{ public static void main(String[] args) { N n = new N(26); }}
output 27
10)
public class MainClass{ public MainClass(int i, int j) { System.out.println(method(i, j)); } int method(int i, int j) { return i++ + ++j; } public static void main(String[] args) { MainClass main = new MainClass(10, 20); }}
O/P 31
11)
class A{ static int i; static { i++; } { ++i; }} class B extends A{ static { --i; } { i--; }} public class MainClass{ public static void main(String[] args) { System.out.println(new B().i); }}
Answer 0
12)
class X{ static void staticMethod() { System.out.println("Class X"); }} class Y extends X{ static void staticMethod() { System.out.println("Class Y"); }} public class MainClass{ public static void main(String[] args) { Y.staticMethod(); }}
Answer :
Class Y
Comments
Post a Comment