What is the result?

Given:

11. public class ItemTest {
12. private final int id;
13. public ItemTest(int id) { this.id = id; }
14. public void updateId(int newId) { id = newId; }
15.
16. public static void main(String[] args) {
17. ItemTest fa = new ItemTest(42);
18. fa.updateId(69);
19. System.out.println(fa.id);
20. }
21. }

What is the result?

Given:

11. public class ItemTest {
12. private final int id;
13. public ItemTest(int id) { this.id = id; }
14. public void updateId(int newId) { id = newId; }
15.
16. public static void main(String[] args) {
17. ItemTest fa = new ItemTest(42);
18. fa.updateId(69);
19. System.out.println(fa.id);
20. }
21. }

What is the result?

A.
Compilation fails.

B.
An exception is thrown at runtime.

C.
The attribute id in the ItemTest object remains unchanged.

D.
The attribute id in the ItemTest object is modified to the new value.

E.
A new ItemTest object is created with the preferred value in the id attribute.



Leave a Reply 1

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


Matti

Matti

A is correct, the compiler knows that is not allowed to change the value of final int id