logo Practice-It logo

FirstSecondThirdFourth

Author: Marty Stepp

Consider the following classes:

public class First {
    public void method2() {
        System.out.println("First2");
    }
    
    public void method3() {
        method2();
    }
}

public class Second extends First {
    public void method2() {
        System.out.println("Second2");
    }
}

public class Third extends Second {
    public void method1() {
        System.out.println("Third1");
        super.method2();
    }
    
    public void method2() {
        System.out.println("Third2");
    }
}

public class Fourth extends First {
    public void method1() {
        System.out.println("Fourth1");
    }
    
    public void method2() {
        System.out.println("Fourth2");
    }
}

Suppose the following variables are defined:

First var1 = new Second();
First var2 = new Third();
First var3 = new Fourth();
Second var4 = new Third();
Object var5 = new Fourth();
Object var6 = new Second();

Indicate below the output that would be 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 the word 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();
((Second) var4).method1();
((Third) var4).method1();
((Second) var5).method2();
((First) var5).method3();
((Third) var5).method1();
((First) var6).method3();
((Second) var6).method1();
((Second) var6).method3();

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.