The abstract keyword is a non-access modifier, used for classes and methods . Class: An abstract class is a restricted class that cannot be used to create objects (to access it, it must be inherited from another class). Method: An abstract method can only be used in an abstract class, and it does not have a body.