Shadow Variable Concept

class A
{
int k; 
            {
            System.out.println("Super Class Object is Created");
            }

            A(int j)
            {
            this.k=j;
            System.out.println("Super Class Object is Created with Value K= "+k);
            }
}

class B extends A
{
int k; //shadow variable

            {
            System.out.println("Derived Class Object is Created");
            }
           
            B(int i,int j)
            {
            super(i);
            this.k=j;
            System.out.println("Base Value = "+ super.k+" Derived Value = "+k);
            }
public static void main(String a[])
            {
            System.out.println("Test - 1 : Constructor");
            B b2=new B(20,30);
            }
}

OUTPUT:
E:\java\2015\Lecture\Lecture-2\Shadow Variable>javac A.java

E:\java\2015\Lecture\Lecture-2\Shadow Variable>java B
Test - 1 : Constructor
Super Class Object is Created
Super Class Object is Created with Value K= 20
Derived Class Object is Created

Base Value = 20 Derived Value = 30

No comments:

Post a Comment