Return to site

JAVA CERTIFICATION QUESTION: create methods with arguments and return values, including overloaded methods

· java

Given:

class GenericEngine { public String engType="GE-001"; }

class CombustionEngine extends GenericEngine {
    public String engType="CE-002"; }

class JetEngine extends CombustionEngine {
    public String engType="JE-003"; }

public class Car {
    public void setEngine(Object o) {
        System.out.print("I have unknown engine");
    }

    public void setEngine(GenericEngine ge) {
        System.out.printf(
            "I have generic engine: %s", ge.engType);
    }

    public void setEngine(CombustionEngine ce) {
        System.out.printf(
            "I have combustion engine: %s", ce.engType);
    }
}

And this code fragment:

JetEngine e = new JetEngine();

new Car().setEngine(e);

What is the result? Choose one.

A) I have unknown engine

B) I have generic engine: GE-001

C) I have combustion engine: CE-002

D) I have generic engine: CE-002

E) I have combustion engine: JE-003

 

The answer is C