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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started