185k views
3 votes
Meg[] elements = {new Lois(), new Stewie(), new Meg(), new Brian()}; for (int i =0; i

1 Answer

3 votes

Complete question is attached as snapshot.

Answer:

This will result in a compilation error.

Here's the inheritance hierarchy:

Meg -> Lois -> Brian -> Stewie

Now Meg has 2 public Fxns, a() and toString().

Lois inherits from Meg and all its public functions as well but, overrides the a() fxn of its super class.

So finally Lois has fxns a(), b() and toString().

Brian extends Lois and inherits all the above listed fxns of Lois, but overrides the b() and toString() fxns.

Stewie extends Brian and inherits all the fxns of Brian, but overrides the a() and toString() fxns.

In the Main driver fxn, we call a() and b() methods of all these classes but, the base class Meg has no b() and it is not extending any class so its not available in its scope.

This results in a compilation error.

Step-by-step explanation:

Meg[] elements = {new Lois(), new Stewie(), new Meg(), new Brian()}; for (int i =0; i-example-1
User Sushil Kumar Sah
by
4.4k points