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? b = d; } } -------------------------------------------- Which of the following is true if we try to compile the 3 files and run the Use class?

Question 1 options:

The program won't compile unless you change the last line of Use.java to include a cast: b = (Base) d; and then the program will compile but will have a run time error when the assignment into b is executed.

There is no way to assign d into b without a compiler error.

The program won't compile unless you change the last line of Use.java to include a cast: b = (Base) d; and then the program will compile and run without error.

The program will compile and run as is without error.

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!