Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

public class SuperHero { protected String name; protected int strength; protecte

ID: 3728451 • Letter: P

Question

public class SuperHero {

       protected String name;

       protected int strength;

       protected String power;

       public SuperHero(String name, int strength, String power){

           this.name = name;

           this.strength = strength;

           this.power = power;

       }

       public String getName(){

           return name;

       }

       public int getStrength(){

           return strength;

       }

       public void setPower(String newPower){

           power = newPower;

       }

       public String describePower(){

           return power;

       }

   }

   public class Marvel extends SuperHero{

   private double stanLeeRating;

       public Marvel (String name, int strength, String power, double

stanLeeRating){

           super(name, strength, power);

           this.stanLeeRating = stanLeeRating;

       }

       public double getStanLeeRating(){

           return stanLeeRating;

       }

       public String describePower(){

           return power + " coming to a theater near you.";

       }

   }

The method describePower() in Marvel is an example of:

   (A)   Method overloading

   (B)   Method overriding

   (C)   Dynamic binding

   (D)   Late binding

   (E)   Method collision

What will be the result when the following lines of code are executed?

       SuperHero wolverine = new Marvel("Logan", 99, "Mutant Healing",

9.1);

       System.out.println(wolverine.describePower());

   (A)   Mutant Healing

   (B)   Mutant Healing coming to a theater near you.

   (C)   coming to a theater near you.

   (D)   power coming to a theater near you.

   (E)   null

Explanation / Answer

The method describePower() in Marvel is an example of:

(B) Method overriding

Explanation: Having a method with same name as in super class will override by using method in sub class.

What will be the result when the following lines of code are executed?
SuperHero wolverine = new Marvel("Logan", 99, "Mutant Healing",
System.out.println(wolverine.describePower());
(B) Mutant Healing coming to a theatre near you.


Explanation: Creating an object for Marvel will call method in Marvel only because of method overriding mentioned in the previous question