logo Practice-It logo

inheritanceMystery

Author: Marty Stepp (on 2010/12/28)

Assume that the following classes have been defined:

public class Leela extends Fry {
    public void method1() {
        System.out.print("Leela1 ");
    }
    
    public void method2() {
        System.out.print("Leela2 ");
        super.method2();
    }
}

public class Farnsworth extends Bender {
    public void method1() {
        System.out.print("Farnsworth1 ");
    }
    
    public String toString() {
        return "Good news everyone!";
    }
}
public class Fry extends Bender {
    public void method2() {
        System.out.print("Fry2 ");
        super.method2();
    }
}

public class Bender {
    public void method1() {
        System.out.print("Bender1 ");
    }
    
    public void method2() {
        System.out.print("Bender2 ");
        method1();  
    }
    
    public String toString() {
        return "We're doomed!";
    }
}

Given the classes above, what output is produced by the following code?

Bender[] rodriguez = { new Leela(), new Bender(), new Farnsworth(), new Fry() };
for (int i = 0; i < rodriguez.length; i++) {
    rodriguez[i].method2();
    System.out.println();
    System.out.println(rodriguez[i]);
    rodriguez[i].method1();
    System.out.println();
    System.out.println();
}
elements[0]: Leela
elements[1]: Bender
elements[2]: Farnsworth
elements[3]: Fry

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.