This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Is a standalone abstract class of any use ?

 
Jayati Das
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was asked this in an interview recently , If an abstract class is not going to be extended ,does declaring a class abstract serve any purpose ?
I couldnt think of any use of a standalone abstract class.



 
Ralph Cook
Ranch Hand
Posts: 479
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I suppose you could still call static methods on such a class, but I'd hardly call that a reason for having an abstract class that isn't extended. Sounds like one of those nice 'trivia' 'gotcha' questions some interviewers like.
 
Jayati Das
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you for replying.
 
Winston Gutkowski
Bartender
Pie
Posts: 10111
56
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jayati Das wrote:If an abstract class is not going to be extended ,does declaring a class abstract serve any purpose?

I think my answer would be 'no', because the whole point of an abstract class is to be extended, so the idea of a 'standalone' abstract class is a bit of an oxymoron.

The only example that I can think of would be a constants-only interface, and those have generally been discredited.

However, I totally agree with Ralph: I think it's one of those 'gotcha' questions; and not very well worded at that.

Winston
 
Matthew Brown
Bartender
Posts: 4565
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I suspect they're thinking of a Utility - i.e. a class that only has static methods. For example, java.lang.Math.
 
Campbell Ritchie
Sheriff
Posts: 48448
56
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Utility classes are not usualloy abstract. They are usually unintantiable.
 
Matthew Brown
Bartender
Posts: 4565
8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:Utility classes are not usualloy abstract. They are usually unintantiable.

I know. I still reckon that's probably what they were getting at, though .

Or, having thought a bit more about it, maybe they were looking for the answer "no - if you want an uninstantiable class you should do it a different way" (i.e. the way mentioned in that link).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic