И
class Foo {}
может наследовать другие и от него могут наследоваться. Может быть самостоятельным.final class Foo {}
может наследовать другие. От него нельзя наследоваться. Самостоятельный класс.abstract class Foo {}
может наследовать другие. От него нужно наследоваться. Не может быть самостоятельным классом.