Yes, you can have a private field in an abstract class. However, this field will be available only for functions in this abstract class. Any classes that inherit from your abstract class will not be able to access the field.
You can declare both fields and functions public, protected, or private in an abstract class. If a field or function is publicly available, it is available to everyone. If it is protected, it is available only for this class and for any classes that inherit from this class. If it is private, it is available only for this class.
Abstract functions must be implemented by the inheriting class, so it makes no sense (and probably will not work) to have a private abstract function.
source share