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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started