What exactly is the whole concept behind having an abstract class (in my case i'm referring to java). I understand the fact that it is too general to be implemented itself and therefore isn't useful. But surely just declaring it non-abstract and using the same inheritance that would be used if it were an abstract class would give all the same results.
Is the main advantage to save time but declaring abstract methods in the abstract superclass that have no method body and then overriding them in their subclasses?