Can we override static methods?
Answer Posted / sadheez
It may seems to be overriding the static methods, but the
real fact is HIDING.
class Foo {
public static void classMethod() {
System.out.println("classMethod() in Foo");
}
public void instanceMethod() {
System.out.println("instanceMethod() in Foo");
}
}
class Bar extends Foo {
public static void classMethod() {
System.out.println("classMethod() in Bar");
}
public void instanceMethod() {
System.out.println("instanceMethod() in Bar");
}
}
class StaticHiding {
public static void main(String[] args) {
Foo f = new Bar();
f.instanceMethod();
f.classMethod();
when u run this program output will be:
instanceMethod() in Bar
classMethod() in Foo.
Here if u say it to be overriding then the
subclass ie., Bar class having static classMethod() should
be executed. But the fact here is Foo class static
classMethod() is executed.
So its method HIDING and not method
overriding..
I hope i have given answer to my best if
anyone feels wrong plz do post ur suggestions..
| Is This Answer Correct ? | 59 Yes | 1 No |
Post New Answer View All Answers
Does java return by reference?
What are benefits of java?
What are the differences between processes and threads?
How to Sort Strings which are given in List and display in ascending order without using java api.
What is a generic code?
What is a method in coding?
Can we write multiple catch blocks under single try block?
How do you get length in java?
What are the two ways to create a thread?
Can static method access instance variables ?
What is string literal in java?
I am a fresher and know core java, c languge, html, css etc if I am illegible for any job then send it on my email tatranakshay276@gmail.com
Who found java?
What are the procedures?
What is the this keyword?