Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

POLYMORPHISM Chapter 9 Inheritances and Interfaces (Java) 1. Assuming the follow

ID: 3878429 • Letter: P

Question

POLYMORPHISM Chapter 9 Inheritances and Interfaces
(Java)

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

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 and please respond with that program in your response as well.

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

((Third)var4).method1();

((Second)var5).method2();

((First)var5).method3();

((Third)var5).method1();

((First)var6).method3();

((Second)var6).method1();

((Second)var6).method3();

POLYMORPHISM Chapter 9 Inheritances and Interfaces
(Java)

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

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 and please respond with that program in your response as well.

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

((Third)var4).method1();

((Second)var5).method2();

((First)var5).method3();

((Third)var5).method1();

((First)var6).method3();

((Second)var6).method1();

((Second)var6).method3();

Explanation / Answer

var1.method2();

Output:
Second2
Here super class is refering to the sub class object.According to inheritance
super class reference can refer to the sub class object.Here var1 is pointing to
the sub class object(Second class).
__________
var2.method2();
Output:
Third2
Here super class is refering to the sub class object.According to inheritance
super class reference can refer to the sub class object.Here var2 is pointing to
the sub class object(Third class).As the method is available in the Sub class
object,so the method method2() will be executed on the Third class object.
__________
var3.method2();
Output:
Fourth2
Here super class is refering to the sub class object.According to inheritance
super class reference can refer to the sub class object.Here var3 is pointing to
the sub class object(Fourth class).As the method is available in the Sub class
object,so the method method2() will be executed on the Fourth class object.
___________
var4.method2();
Output:
Third2
Here super class is refering to the sub class object.According to inheritance
super class reference can refer to the sub class object.Here var4 is pointing to
the sub class object(Third class).As the method is available in the Sub class
object,so the method method2() will be executed on the Third class object.
____________
var5.method2();
Output:
Compiler Error
____________
var6.method2();
Output:
Compiler Error
____________
var1.method3();
Output:
Second2
Reason:As the method3() is not available in the Second class object it checks for the
method3() in its super class First.As it is available it will call,but inside
it will call to method2().Again it will check for that method2() in the Second class
object.As it is available it will be executed and prints Second2
____________
var2.method3();
Output:
Third2
Reason:As the method3() is not available in the Third class object it checks for the
method3() in its super class First.As it is available it will call,but inside
it will call to method2().Again it will check for that method2() in the Third class
object.As it is available it will be executed and prints Third2
____________
var3.method3();
Output:
Fourth2
Reason:As the method3() is not available in the Fourth class object it checks for the
method3() in its super class First.As it is available it will call,but inside
it will call to method2().Again it will check for that method2() in the Fourth class
object.As it is available it will be executed and prints Fourth2
____________
var4.method3();
Output:
Third2
Reason:As the method3() is not available in the Third class object it checks for the
method3() in its super class First.As it is available it will call,but inside
it will call to method2().Again it will check for that method2() in the Third class
object.As it is available it will be executed and prints Third2
____________
var5.method3();
output:
Compiler Error
____________
var6.method3();
output:
Compiler Error
____________
((Second)var4).method1();
output:
Compiler Error

_________I will do Remaining also.Thank You

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote