This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
abract means a concrete implementation may override it. It also means that if the abstract class is used as a base class and the method when invoked will cause the actual instance's method to be invoked (polymorphism). This of course implies that the method should be an instance method. Hence it cannot be static.
An abstract method means that the method is not implemented. A static method means that the method can be accessed using the class name. It is not tied to any instance of the class. So if we declare a method as abstract then it should not be accessed. If you make that method static it becomes accessible which is not acceptable. (Why should we access a method which is not implemented) So it should result in a compile time error.
Regarding classes a top level class cannot be made static. So there is no question on abstract and static coming together.