consider the following three classes: public class A { private int number; prote
ID: 3570679 • Letter: C
Question
consider the following three classes:
public class A
{
private int number;
protected String name;
public double price;
public A()
{
System.out.println( "A() called");
}
private void foo1()
{
System.out.println( "A version of foo1() called");
}
protected int foo2()
{
System.out.println( "A version of foo2() called");
return number;
}
public String foo3()
{
System.out.println( "A version of foo3() called");
return "Hi";
}
}
public class B extends A
{
private char service;
public B()
{
super();
System.out.println( "B() called" );
}
public void foo1()
{
System.out.println( "B version of foo1() called");
}
protected int foo2()
{
int n = super.foo2();
System.out.println( "B version of foo2() called");
return ( n + 5 );
}
public String foo3()
{
String temp = super.foo3();
System.out.println( "B version of foo3() called");
return ( temp + " foo3");
}
}
public class C extends B
{
public C()
{
super();
System.out.println( "C() called");
}
public void foo1()
{
System.out.println( "C version of foo1() called");
}
}
What is the output of the following code sequence:
B b3 = new B();
int n = b3.foo2();
A() called
B() called
A version of foo2() called
B version of foo2() called
A() called
B() called
A version of foo2() called
B version of foo2() called
5
A() called
B() called
B version of foo2() called
5
B() called
A() called
B version of foo2() called
A() called
B() called
A version of foo2() called
B version of foo2() called
A() called
B() called
A version of foo2() called
B version of foo2() called
5
A() called
B() called
B version of foo2() called
5
B() called
A() called
B version of foo2() called
Explanation / Answer
a.
A() called
B() called
A version of foo2() called
B version of foo2() called
A() called
B() called
A version of foo2() called
B version of foo2() called
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.