The
abstract keyword works just the same for this class as for any other abstract class. I suspect you already know what the keyword means, so you'll know what it means in this case too. The compiler won't let you create an instance of the Foo class.
But were you asking why you would want to do that? All I can say is, it's legal in
Java to do so. If you want to know why somebody declared a class with no methods to be abstract, you'd have to ask them.