/* program Test_Hide.java demonstrating hiding by subclass */

class	Parent {
	int	nx = 10;
	double	dx = 1.5;

	static void echo() { System.out.println("I am the Parent"); }
}

class Child extends Parent {
	float	nx = 5.5f;	// float hiding parent's int
	double	dx = 123.0;	// double hiding same, value differs

	static void echo() { System.out.println("I am the Child"); }

	void get_super_members() {
		System.out.println("Inside get_super_members");
		System.out.println("parent nx = " + super.nx);
		System.out.println("parent dx = " + super.dx);
		System.out.println("Calling parent's echo");
		super.echo();
	}
}

class Test_Hide {
	public static void main(String[] args) {
		Child  c = new Child();
		Parent p = c; 	// create a reference of type Parent

		p.echo();
		c.echo();

		System.out.println("child nx = " + c.nx);
		System.out.println("parent nx = " + p.nx);
		System.out.println("child dx = " + c.dx);
		System.out.println("parent dx = " + p.dx);
	
		c.get_super_members();
	}
}

