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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!