Within
a class, a field that has the same name as a field in the super class
hides the super class's field, even if their types are different.
Hiding
Static fields
Example
class SuperClass{ static String data = "I am a string variable"; }
class SubClass extends SuperClass{ static int data = 10; public static void main(String args[]){ System.out.println(data); System.out.println(SuperClass.data); } }
Output
10
I
am a string variable
Observe
the above program, the variable data is of type String in the super
class and type int in the sub class. Even though the types are
different, the variable in the sub class hides the variable in the
super class.
Hiding
instance fields
class SuperClass{ String data = "I am a string variable"; }
class SubClass extends SuperClass{ int data = 10; void printData(){ System.out.println(data); System.out.println(super.data); } public static void main(String args[]){ SubClass obj1 = new SubClass(); obj1.printData(); } }
Output
10
I
am a string variable
No comments:
Post a Comment