This week's book giveaway is in the Other Languages forum.
We're giving away four copies of Functional Reactive Programming and have Stephen Blackheath and Anthony Jones on-line!
See this thread for details.
Win a copy of Functional Reactive Programming this week in the Other Languages 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: 10527
64
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: 4568
9
  • 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
Pie
Posts: 50246
79
  • 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: 4568
9
  • 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