Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How to user polymophism??

 
qionghua yang
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there,
I would like to have an abstract method in my base class. And I would like it to be a static method. But when I compile I get the error message "illegal combinatio of the accessor". Is it true that static can't be with abstract? Can someone explain to me why?
********My code******************
public abstract class superClass
{
public superClass()
{
}
//super abstract method
abstract public static String getName();
}
public class subClass
{
public subClass()
{
}
public static String getName()
{
return "SubClass";
}
}

Thanks, qionghua
 
Manfred Leonhardt
Ranch Hand
Posts: 1492
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
HI,
As I understand it:
Abstract -- subclasses will provide implementation of method
Static -- can not be overridden only hidden by subclasses
Therefore, since we can't override the abstract method Java will not let us place both static and abstract together.
For example:

If static methods could be overridden then we would have expected the output of "Inside Class B" twice.
Regards,
Manfred.
 
qionghua yang
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks.
So I got it now. If a method is a static method, it can't be overriden by derived class. But then in this case, how can I implement the polymorphism?
qionghua
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic