What is the output of the following code? class A { …
What is the output of the following code? class A { void foo() { System.out.println(“1”); } public A() { System.out.println(“2”); foo(); } } class B extends A { public B() { System.out.println(“3”); } void foo() { System.out.println(“4”); } } public class Client { public static void main(String [] args) { new B(); } }
Read DetailsGiven the class hierarchy below. Could the symmetry of equal…
Given the class hierarchy below. Could the symmetry of equals() be violated? If yes, provide client code that demonstrates that. class A { int x; public A(int x) {this.x = x;} public boolean equals(Object o) { if (!(o instanceof A)) return false; A a = (A)o; return this.x == a.x; } } class B extends A { int y; public B(int x, int y) {super(x); this.y = y;} public boolean equals(Object o) { if (!(o instanceof B)) return false; B b = (B)o; return super.equals(o) && this.y == b.y; } }
Read DetailsWhat is the output of the code below? Explain. (Note: there…
What is the output of the code below? Explain. (Note: there are no compilation errors) class A { public int x; public A(int x) { this.x = x; } public String toString() { return “x = ” + x; } } class Super { public A a; public Super() { System.out.println(“Super()”); foo(); } public Super (A a) { System.out.println(“Super(A a)”); this.a = a; foo(); } public void foo() { System.out.println(“Super.foo()”); System.out.println(a); } } public class Sub extends Super { public A a; public Sub() { System.out.println(“Sub()”); foo(); } public Sub (A a) { System.out.println(“Sub(A a)”); this.a = a; foo(); } @Override public void foo() { System.out.println(“Sub.foo()”); System.out.println(a); } } public static void main(String[] args) { new Super(); }
Read Details