abstract class java
Abstract classes have some special features: it's impossible to create an instance of an abstract class; an abstract class can contain abstract methods that must be implemented in non-abstract subclasses; it can contain fields and non-abstract methods (including static); an abstract class can extend another class, including abstract; it can contain a constructor.