Non-access modifiers doea not alter the accessibility level of variables and methods, however it enables other properties.
This modifier make a member as a class variable or method. If this modifier is not specified, then those variable or method become instance members.
Final modifier is used to declare a field as final i.e. it prevents its content from being modified. Final field must be initialized when it is declared.
A class can also be declared as final. A class declared as final cannot be inherited.
Method declared as final cannot be overridden.
Abstract classes contain abstract methods (you can refer them as ideas) so that they can be implemented in sub classes according to their requirements.
Abstract methods are incomplete or abstract without definition and the sub-class needs to provide the implmentation.
When a method is synchronized it can be accessed by only one thread at a time.