logo Practice-It logo

Pill

Author: Stuart Reges (on 2014/02/13)

Assuming that the following classes have been defined:

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

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

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

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

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

        public class Box extends Pill {
            public void method2() {
                System.out.println("Box 2");
            }

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

And assuming the following variables have been defined:

        Box var1 = new Box();
        Pill var2 = new Jar();
        Box var3 = new Cup();
        Box var4 = new Jar();
        Object var5 = new Box();
        Pill var6 = new Pill();

In the table below, indicate in the right-hand column the output produced by the statement in the left-hand column. 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, fill in the right-hand column with either the phrase "compiler error" or "runtime error" to indicate when the error would be detected.

var1.method2();
var2.method2();
var3.method2();
var4.method2();
var5.method2();
var6.method2();
var1.method3();
var2.method3();
var3.method3();
var4.method3();
((Cup)var1).method1();
((Jar)var2).method1();
((Cup)var3).method1();
((Cup)var4).method1();
((Jar)var4).method2();
((Box)var5).method2();
((Pill)var5).method3();
((Jar)var2).method3();
((Cup)var3).method3();
((Cup)var5).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.