For abstract classes in Java: A is invalid - method 'speak()' has no body and no abstract modifier. B is valid - method has empty body (braces), concrete implementation in abstract class is fine. C is invalid - non-abstract class cannot have abstract method. D is invalid - 'abstract' keyword must come before 'class', not after. Only B declares a compilable abstract class.