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
Subclasses/inheritance can have negative consequences becaus…
Subclasses/inheritance can have negative consequences because (select all correct answer(s) and no incorrect answer(s) to get credit)
If a method is declared with default access, it can only be…
If a method is declared with default access, it can only be overridden by methods in the same package
What 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)); }
What are some differences between interfaces and abstract cl…
What are some differences between interfaces and abstract classes in Java (select all correct answer(s) and no incorrect answer(s) to get credit)?
Which of the following statements about Java classes and int…
Which of the following statements about Java classes and interfaces are true (select all correct answer(s) and no incorrect answer(s) to get credit)?
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 = “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?
Adding new default methods to existing interfaces is risky b…
Adding new default methods to existing interfaces is risky because:
Generally speaking, making instance fields public is bad bec…
Generally speaking, making instance fields public is bad because:
Here are some useful equations:
Here are some useful equations: