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

POLYMORPHISM Chapter 9 Inheritance and Interfaces (javaJ 2. Assuming the followi

ID: 3878432 • Letter: P

Question

POLYMORPHISM Chapter 9 Inheritance and Interfaces
(javaJ

2.   Assuming the following classes have been defined:

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

    }

}

     And that the following variables have been defined:

Harry var1 = new Harry();

Harry var2 = new Larry();

Larry var3 = new Jerry();

Mary var4 = new Mary();

Mary var5 = new Jerry();

Object var6 = new Larry();

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 include that corrected program in your response as well please.

Statement:

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

Explanation / Answer

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Surya
*/
public class ex {
  
ex()
{
Harry var1 = new Harry();
Harry var2 = new Larry();
Larry var3 = new Jerry();
Mary var4 = new Mary();
Mary var5 = new Jerry();
Object var6 = new Larry();

var1.method1();//output harry 1
var2.method1();//output a/larry 1 b/harry 1
var3.method1();//output a/larry 1 b/harry 1
var4.method1();//output a/larry 1 b/harry 1
var5.method1();//output a/larry 1 b/harry 1
//var6.method1();//compile error... method not found
var1.method2();//output a/harry 1 b/harry 2
var2.method2();//output a/larry 1 b/harry 1 c/harry
var3.method2();//output a/mary 2 b/jerry 2
var4.method2();//output mary2
var5.method2();//output a/mary2 b/jerry 2
//var6.method2();// compiler errror method not found
//var3.method3();//compiler error...type difference
var5.method3();//outpt a/larry 1 b/harry 1 c/mary 3
//((Larry)var1).method1(); //run time error
//((Mary)var2).method2(); //run time error
((Jerry)var5).method1();//output a/larry 1 b/harry 1
((Mary)var3).method3();//output a/larry 1 b/harry 1
//((Jerry)var4).method3(); runtime errors
//((Mary)var6).method3(); runtime errors

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

  

public static void main(String argv[])
{
new ex();

  
  
}
  
  
}

output/:

run:
harry 1
larry 1
harry 1
larry 1
harry 1
larry 1
harry 1
larry 1
harry 1
harry 1
harry 2
larry 1
harry 1
harry 2
mary 2
jerry 2
mary 2
mary 2
jerry 2
larry 1
harry 1
mary 3
larry 1
harry 1
larry 1
harry 1
mary 3
BUILD SUCCESSFUL (total time: 0 seconds)

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