public void setName(String name) { vehicleName = name; } public String toString() { return vehicleName; } ublic class Boat extends Vehicle { private int numEngines; public Boat(int num) { numEngines = num; } public String toString() { noturn Sunon toString() 11 11 numEnginos:

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
### Question 11

**What is output?**

```java
public class Vehicle {
    protected String vehicleName;
    public void setName(String name) {
        vehicleName = name;
    }
    public String toString() {
        return vehicleName;
    }
}

public class Boat extends Vehicle {
    private int numEngines;
    public Boat(int num) {
        numEngines = num;
    }
    public String toString() {
        return super.toString() + " " + numEngines;
    }
}

Boat fastBoat = new Boat(2);
fastBoat.setName("Firebird");
System.out.println(fastBoat);
```

**Options:**
- Firebird
- Boat@f35a442b
- Firebird 2
- Syntax error

### Explanation:

This Java code consists of two classes: `Vehicle` and `Boat`, where `Boat` is a subclass of `Vehicle`. Let's break down the code:

1. **Class Vehicle:**
    - **Protected String `vehicleName`:** This variable can be accessed within its class and by subclasses.
    - **Method `setName(String name)`:** Sets the `vehicleName` to the provided string `name`.
    - **Method `toString()`:** Returns the `vehicleName`.

2. **Class Boat:**
    - **Private int `numEngines`:** This variable stores the number of engines of the boat.
    - **Constructor `Boat(int num)`:** Initializes `numEngines` with the provided integer `num`.
    - **Method `toString()`:** Overrides the `toString()` method of the `Vehicle` class. It returns a string that concatenates the result of `super.toString()`, which is the `vehicleName` from the `Vehicle` class, a space, and `numEngines`.

3. **Object Creation and Method Calls:**
    - A `Boat` object `fastBoat` is created with `2` engines.
    - The `setName` method of the `Vehicle` class is called to set the `vehicleName` to `"Firebird"`.
    - `System.out.println(fastBoat)` implicitly calls the `toString()` method of the `fastBoat` object.

Since `fastBoat`'s `toString()` method returns `vehicleName` + " " + `numEngines`, the output will be:

    **
Transcribed Image Text:### Question 11 **What is output?** ```java public class Vehicle { protected String vehicleName; public void setName(String name) { vehicleName = name; } public String toString() { return vehicleName; } } public class Boat extends Vehicle { private int numEngines; public Boat(int num) { numEngines = num; } public String toString() { return super.toString() + " " + numEngines; } } Boat fastBoat = new Boat(2); fastBoat.setName("Firebird"); System.out.println(fastBoat); ``` **Options:** - Firebird - Boat@f35a442b - Firebird 2 - Syntax error ### Explanation: This Java code consists of two classes: `Vehicle` and `Boat`, where `Boat` is a subclass of `Vehicle`. Let's break down the code: 1. **Class Vehicle:** - **Protected String `vehicleName`:** This variable can be accessed within its class and by subclasses. - **Method `setName(String name)`:** Sets the `vehicleName` to the provided string `name`. - **Method `toString()`:** Returns the `vehicleName`. 2. **Class Boat:** - **Private int `numEngines`:** This variable stores the number of engines of the boat. - **Constructor `Boat(int num)`:** Initializes `numEngines` with the provided integer `num`. - **Method `toString()`:** Overrides the `toString()` method of the `Vehicle` class. It returns a string that concatenates the result of `super.toString()`, which is the `vehicleName` from the `Vehicle` class, a space, and `numEngines`. 3. **Object Creation and Method Calls:** - A `Boat` object `fastBoat` is created with `2` engines. - The `setName` method of the `Vehicle` class is called to set the `vehicleName` to `"Firebird"`. - `System.out.println(fastBoat)` implicitly calls the `toString()` method of the `fastBoat` object. Since `fastBoat`'s `toString()` method returns `vehicleName` + " " + `numEngines`, the output will be: **
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education