Answer:
4) Both (a) and (b).
Explanation:
In addition to regular classes, Java has abstract classes. An abstract class is like a regular class. You can also define fields and methods in an abstract class, while at the same time, you cannot create an object or an instance of an abstract class. Abstract classes are designed to provide basic functionality for derived classes while derived classes required to implement this functionality.
A derived class must override and implement all abstract methods that are in the base abstract class. Therefore answer a (1) is correct.
Access modifier for the field a was private which means it has to be provided with accessor methods to obtain/modify its value. Therefor answer b (2) is correct as well.