Junior — Middle
What limitations do static methods have in object-oriented programming?
sobes.tech AI
Answer from AI
Static methods in object-oriented programming have several limitations:
- No access to instance members of the class. Static methods cannot access non-static fields and methods because they are not tied to a specific instance of the class.
- Lack of polymorphism. Static methods cannot be overridden in subclasses; they are hidden, which limits the use of dynamic polymorphism.
- Inheritance restrictions. Since static methods belong to the class and not to an object, they do not participate in virtual method invocation mechanisms.
Example in Java:
class Example {
static void staticMethod() {
System.out.println("Static method");
}
void instanceMethod() {
System.out.println("Non-static method");
}
static void test() {
// staticMethod() can be called directly
staticMethod();
// instanceMethod(); // Compilation error: cannot call non-static from static
}
}