1. Assuming the following classes have been defined: public class First { public
ID: 3541424 • Letter: 1
Question
1. Assuming the following classes have been defined:
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");
}
}
And that the following variables have been 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();
Fourth var7 = new Fourth();
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.
Statement
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();
((Second)var7).method1();
((First)var4).method2();
((Second)var1).method2();
((Third)var4).method1();
((Second)var5).method2();
((First)var5).method3();
((Third)var5).method1();
((First)var6).method3();
((Second)var6).method1();
((Second)var6).method3();
1. Assuming the following classes have been defined:
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");
}
}
And that the following variables have been 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();
Fourth var7 = new Fourth();
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.
Statement
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();
((Second)var7).method1();
((First)var4).method2();
((Second)var1).method2();
((Third)var4).method1();
((Second)var5).method2();
((First)var5).method3();
((Third)var5).method1();
((First)var6).method3();
((Second)var6).method1();
((Second)var6).method3();
Explanation / Answer
Compilation error at below places:
var5.method2();
var6.method2();
var5.method3();
var6.method3();
((Second)var4).method1();
((Second)var7).method1();
((Second)var6).method1();
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.