Yes.You can use any kind of method in an abstract class
public abstract class AbstractDAO{ public void save(){ validate(); //save } private void validate(){ // we are hiding this method } }
Private Constructors
If Private constructor is the only constructor of the class, then the reason is clear: to prevent subclassing. Some classes serve only as holders for static fields/methods and do not want to be either instantiated or subclassed. Note that the abstract modifier is in this case redundant—with or without it there would be no instantiation possible. The abstract modifier is also bad practice because it sends wrong signals to the class’s clients. The class should in fact have been final.
Abstract Class with Private Constructor is same as Final Class. Both serves the same purpose.