logo Practice-It logo

FeeFieFoFum

Author: Robert Baxter

Consider the following classes:

public class Fee extends Fo {
    public void method1() {
        System.out.println("Fee 1");
        super.method3();
    }

    public void method3() {
        System.out.println("Fee 3");
    }
}

public class Fie extends Fum {
    public void method1() {
        System.out.println("Fie 1");
    }

    public void method3() {
        System.out.println("Fie 3");
        super.method3();
    }
}

public class Fo {
    public void method2() {
        System.out.println("Fo 2");
        method3();
    }

    public void method3() {
        System.out.println("Fo 3");
    }
}

public class Fum extends Fo {
    public void method3() {
        System.out.println("Fum 3");
    }
}

Suppose the following variables are defined:

Fum var1 = new Fie();
Object var2 = new Fum();
Fo var3 = new Fee();
Object var4 = new Fie();
Object var5 = new Fo();
Fum var6 = new Fum();

Indicate on each line below the output produced by each statement shown. If the statement produces more than one line of output indicate the line breaks with slashes as in a/b/c to indicate three lines of output with a followed by b followed by c. If the statement causes an error, write either runtime error or compiler error to indicate this.

var1.method2();
var2.method2();
var3.method2();
var4.method2();
var5.method2();
var6.method2();
var1.method3();
var2.method3();
var3.method3();
var4.method3();
var5.method3();
var6.method3();
((Fee) var3).method1();
((Fee) var4).method1();
((Fie) var1).method2();
((Fo) var3).method3();
((Fie) var6).method2();
((Fo) var2).method3();
((Fie) var3).method1();
((Fo) var5).method2();

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.