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
Joined: Jan 09, 2001
Posts: 1492
posted
0
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
Joined: Oct 31, 2000
Posts: 68
posted
0
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
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.