An abstract class can contain abstract methods, meaning that the methods are declared, but have no implementation (no body). By itself, an abstract class is incomplete and cannot be instantiated. If a class contains one or more abstract methods, then the class itself must be declared abstract.
A concrete class is one that provides complete implementation, and can be used to instantiate objects.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org