Question: Polymorphism Help! Java Question One: 1. Define the following classes in files (One class per file): public class First { public void method2() { System.out.println(First2);

Polymorphism Help! Java

Question One:

1. Define the following classes in files (One class per file):

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");

}

}

2. Create a class called FirstPoly and define the following variables in a main method:

First var1 = new Second();

First var2 = new Third();

First var3 = new Fourth();

Second var4 = new Third();

Object var5 = new Fourth();

Object var6 = new Second();

3. Write the following statements in a main method.

4. What is the output produced by each statement below? If the statement produces more than one line of output, indicate the line breaks with slashes as in "a/b/c". If the statement causes an error, write either "compiler error" or "runtime error" as appropriate and explain the reason to have an error in a comment line. Comment out any statements that cause a compile or runtime error so that you can run the whole program.

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();

Question Two:

1. Define the following classes in files (One class per file):

public class Harry {

public void method1() {

System.out.println("harry 1");

}

public void method2() {

method1();

System.out.println("harry 2");

}

}

public class Larry extends Harry {

public void method1() {

System.out.println("larry 1");

super.method1();

}

}

public class Mary extends Larry {

public void method2() {

System.out.println("mary 2");

}

public void method3() {

super.method1();

System.out.println("mary 3");

}

}

public class Jerry extends Mary {

public void method2() {

super.method2();

System.out.println("jerry 2");

}

}

2. Create a class called SecondPoly and define the following variables in a main method:

Harry var1 = new Harry();

Harry var2 = new Larry();

Larry var3 = new Jerry();

Mary var4 = new Mary();

Mary var5 = new Jerry();

Object var6 = new Larry();

3. Write the following statements in a main method.

4. What is the output produced by each statement below? If the statement produces more than one line of output, indicate the line breaks with slashes as in "a/b/c". If the statement causes an error, write either "compiler error" or "runtime error" as appropriate and explain the reason to have an error in a comment line. Comment out any statements that cause a compile or runtime error so that you can run the whole program.

var1.method1();

var2.method1();

var3.method1();

var4.method1();

var5.method1();

var6.method1();

var1.method2();

var2.method2();

var3.method2();

var4.method2();

var5.method2();

var6.method2();

var3.method3();

var5.method3();

((Larry)var1).method1();

((Mary)var2).method2();

((Jerry)var5).method1();

((Mary)var3).method3();

((Jerry)var4).method3();

((Mary)var6).method3();

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!