Method hiding is possible with static method.
Let's see example:
Here with A class object reference "a" can't see the B class show method.
So B class show method is not visible to A class reference.
Note: Accessing Static members with instance of a class not a best practice.
Why? - Because for static members memory will allocate at the time class loading so we can access this with class name.
Is it Overriding?
NO - This is not Overriding but it is valid.
Let's see example:
class A{ static void show(){ System.out.println("From A class"); } } public class B extends A{ static void show(){ System.out.println("From B class"); } public static void main(String []args){ A a =new HelloWorld(); B b =new B(); a.show(); // A class show method will call b.show(); // B class show method will call } }
Here with A class object reference "a" can't see the B class show method.
So B class show method is not visible to A class reference.
Note: Accessing Static members with instance of a class not a best practice.
Why? - Because for static members memory will allocate at the time class loading so we can access this with class name.
Is it Overriding?
NO - This is not Overriding but it is valid.
No comments:
Post a Comment