Question: Assume you have three separate .java source files In Base.java: public class Base {} -------------------------------------------- In Derived.java: public class Derived extends Base {} -------------------------------------------- In
Assume you have three separate .java source files
In Base.java: public class Base {} -------------------------------------------- In Derived.java: public class Derived extends Base {} -------------------------------------------- In Use.java:
public class Use { public static void main(String[] args) { Base b = new Base(); Derived d = new Derived(); // Will this following assignment generate an error? d = b; } } -------------------------------------------- Which of the following is true if we try to compile the 3 files and run the Use class?
Question 2 options:
|
| The program won't compile unless you change the last line of Use.java to include a cast: d = (Derived) b; and then the program will compile and run without error. |
|
| There is no way to assign b into d without generating a compiler error. |
|
| The program will compile and run as is without error |
|
| The program won't compile unless you change the last line of Use.java to include a cast: d = (Derived) b; and then the program will compile but will have a run time error when the assignment into d is executed. |
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
