logo Practice-It logo

ForkPotBowlSpoon

Author: Robert Baxter (on 2021/04/02)

Consider the following classes:

        public class Fork extends Pot {
            public void method2() {
                System.out.println("Fork 2");
                super.method2();
            }
        }

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

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

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

            public void method2() {
                System.out.println("Bowl 2");
            }
        }

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

            public void method2() {
                System.out.println("Spoon 2");
            }
        }

Suppose the following variables are defined:

        Pot var1 = new Spoon();
        Bowl var2 = new Bowl();
        Pot var3 = new Bowl();
        Pot var4 = new Pot();
        Object var5 = new Bowl();
        Pot var6 = new Fork();

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 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.method1();
var2.method1();
var3.method1();
var1.method3();
var2.method3();
var3.method3();
var4.method3();
((Spoon)var1).method1();
((Bowl)var3).method1();
((Fork)var3).method3();
((Fork)var5).method1();
((Spoon)var5).method1();
((Fork)var6).method2();
((Bowl)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.