Can static methods be overridden?
Answers were Sorted based on User's Feedback
Answer / sonu
No never we cannot override the static methods becouse overriding is done only run time and static methods get memory at compile time and static things not the part of object.
| Is This Answer Correct ? | 19 Yes | 4 No |
Answer / sumit pal singh
static class Class1 {
public static int Method1(){
return 0;
}
}
static class Class2 extends Class1 {
public static int Method1(){
return 1;
}
}
public static class Main {
public static void main(String[] args){
Class1.Method1();
Class2.Method1();
}
}
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / coder
Remember that static methods can't be overridden! This doesn't mean they
can't be redefined in a subclass, but redefining and overriding aren't the same thing.
Let's take a look at an example of a redefined (remember, not overridden), static
method:
class Animal
{
static void doStuff()
{
System.out.print("a ");
}
}
class Dog extends Animal
{
static void doStuff()
{
// it's a redefinition,
// not an override
System.out.print("d ");
}
public static void main(String [] args)
{
Animal [] a = {new Animal(), new Dog(), new Animal()};
for(int x = 0; x < a.length; x++)
a[x].doStuff();
// invoke the static method
}
}
/*
Running this code produces the output:
a a a
*/
Here redefining means that you declare a static method with the same signature as the supper class'. So the same method in super class is redefined in the subclass. As you already know that the static methods can't be overridden so this is what you can do if you want the static method to behave differently in the subclass. But remember you can't have the polymorphism since no overridden happens.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / durga
We can't override static methods,becoz static methods are loaded at class loading time,so it is class level.but we overload static methods.
| Is This Answer Correct ? | 0 Yes | 0 No |
What is Interface?
What is private public protected in java?
What are the uses of synchronized keyword?
What is the primary benefit of encapsulation?
Which non-unicode letter characters may be used as the first character of an identifier?
What will be the initial value of an object reference which is defined as an instance variable?
Is jdk required on each machine to run a java program?
What are drawbacks of singleton class?
Name component subclasses that support painting in java programming?
whar are the draw backs of programming lang step by step in Clang and next in C++ and next and in Java nad in .Net
What is difference between static and final?
How to invoke external process in java.