What is the result?

Given:

10. interface A { void x(); }
11. class B implements A { public void x() {} public void y() {} }
12. class C extends B { public void x() {} }

And:

20. java.util.List<A> list = new java.util.ArrayList<A>();
21. list.add(new B());
22. list.add(new C());
23. for (A a : list) {
24. a.x();
25. a.y();
26. }

What is the result?

Given:

10. interface A { void x(); }
11. class B implements A { public void x() {} public void y() {} }
12. class C extends B { public void x() {} }

And:

20. java.util.List<A> list = new java.util.ArrayList<A>();
21. list.add(new B());
22. list.add(new C());
23. for (A a : list) {
24. a.x();
25. a.y();
26. }

What is the result?

A.
The code runs with no output.

B.
An exception is thrown at runtime.

C.
Compilation fails because of an error in line 20.

D.
Compilation fails because of an error in line 21.

E.
Compilation fails because of an error in line 23.

F.
Compilation fails because of an error in line 25.

Explanation:
Main.java:25: cannot find symbol
symbol : method y()
location: interface A
a.y();
^
1 error



Leave a Reply 1

Your email address will not be published. Required fields are marked *