public class extend2 {
    
    public static void main(String args[]) {
	
	Data2 a = new Data2();
	System.out.println(a.m); // object a can "see" info in superclass Data1
	System.out.println(a.n); // object a can "see" info in subclass Data2

	// NEW CODE:
	Data1 b = new Data1();

	System.out.println(b.m); // object b can "see" info in Data1
	// Can object b "see" field n of object a?
	// No! Try the following code and ye shall see...
	// System.out.println(b.n);

    } // method main

} // class extend2


class Data1 {
    public int m = 1;
    Data1() {}
} // class Data1

class Data2 extends Data1 {
    public int n = 2;
    // warning: constructors don't automatically inherit!
    // so need to specify one for Data2 class
    Data2() {} 
} // class Data2

/* output
1
2
1
*/
