Consider the following code, and suppose the main method in …
Consider the following code, and suppose the main method in Sub is executed. public class Super { private String y; public Super () { stut();} public void stut() { if (y == null) {y = “cat”;} else {y = y + y;}} } public class Sub extends Super { private String x; public Sub (String s) { x = s;} @Override public void stut() { x = x + x; } public static void main(String[] args) { Super s = new Sub(“dog”); } } Is this true or false: the stut() method in Super is invoked
Read DetailsConsider the following code, and suppose the main method in…
Consider the following code, and suppose the main method in Sub is executed. public class Super { private String y; public Super () { stut();} public void stut() { if (y == null){ y = “cat”; } else { y = “dog”; } System.out.println(y); }} public class Sub extends Super { private String x; public Sub (String s) { x = s;} @Override public void stut() { x = x + x; System.out.println(x); } public static void main(String[] args) { Super s = new Sub(“dog”); }} What is the output?
Read DetailsWhat is the output of the code below? class A { …
What is the output of the code below? 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(new A(2)); }
Read Details