can a static method be overridden
Answers were Sorted based on User's Feedback
Answer / lakshmanan n
Static methods can be overriden but why do you want to call
the static methods thro instance of the subclass or super
class.
If it is a static method.
call those methods like the following...
SuperClassName.methodName()
SubClassName.methodName()
| Is This Answer Correct ? | 2 Yes | 3 No |
Answer / nitasha
Static methods are not overriden, they are hidden by static
method in subclass. Check out the link:
http://www.xyzws.com/javafaq/can-static-methods-be-overridden/1
| Is This Answer Correct ? | 4 Yes | 6 No |
Answer / nisha
/* STATIC METHODS CANT BE OVERRRIDDEN....*/
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
dostuff();
Animal a=new Dog();
a.doStuff();
}
}
| Is This Answer Correct ? | 2 Yes | 4 No |
Answer / sandya
Hi, Narasimha Rao Bodagala
I didnt get u. can u please explain once?
| Is This Answer Correct ? | 3 Yes | 6 No |
Answer / mohit kaushik
yes main method can be override example
class mad
{
public static void main(String args[])
{}
}
public class mohit extends
{
public static void main(String args[])
{
System.out.println("HELLO");
}}
output HELLO
ANY question contact me with our email.my id.
mohit_kaushik1234@rediff.com
| Is This Answer Correct ? | 2 Yes | 6 No |
Answer / abid mehmood
An instance method can not override the static method of
its parent class.like
if parenet class contains
public static void test()
{
}
then in child class you can't override like this
public void test(){ //you can't override
}
or even like this
public static int test(){ //compile time error:type is
incompatibe with parent's test method.
}
| Is This Answer Correct ? | 4 Yes | 9 No |
Answer / karteek
Hi, Srinivas.....in the above program posted by Aswini...I
think main() method is overridden....right?.....then we can
say static methods can be overridden....
Eg:
class Parent
{
public static void myStaticMethod()
{
System.out.println("A");
}
public void myInstanceMethod()
{
System.out.println("B");
}
}
public class Child extends Parent
{
public static void myStaticMethod()
{
System.out.println("C");
}
public void myInstanceMethod()
{
System.out.println("D");
}
public static void main(String[] args)
{
Parent o1 = new Parent();
Child o3 = new Child();
Parent.myStaticMethod(); // A
Child.myStaticMethod(); // C
o1.myStaticMethod(); // A
o1.myInstanceMethod(); // B
o3.myStaticMethod(); // C
o3.myInstanceMethod(); // D
}
}
In the above program myStaticMethod() is
overridden.....which is a static method.....
| Is This Answer Correct ? | 10 Yes | 16 No |
What is MOM?
what is JTA ?
Will the general public have access to the infobus apis?
why we use main in java?
What is clustering? What are the different algorithms used for clustering?
How JNDI is used in JMS ?
Name the class that is used to bind the server object with RMI Registry?
Name the method to find, if a thread is active or not?
What exceptions are thrown by RMI?
what is the use of Object Factories?
what is singleton class? where it mainly used in the projects?
What is diffennce between AWT & SWING?