// super and private methods
// can super call a private method from a parent class?

class Data1 {
    protected String s;
    Data1(String s) {
	this.s = s;
	System.out.println("Activating constructor of " + s);
	print();
    }
    /*public*/ /*private*/ void print() {
	System.out.println("1: " + s);
    }
}

class Data2 extends Data1 {
    Data2(String s) {
	super(s);
	System.out.println("Activating constructor of " + s);
	print();
	super.print();
    }
    protected void print() {
	System.out.println("2: " + s);
    }
}  

public class super_private {
    public static void main(String args[]) {
	Data1 d1 = new Data1("data1");
	Data2 d2 = new Data2("data2");
    }
}

/* Output for public print() in Data1
Activating constructor of data1
1: data1
Activating constructor of data2
2: data2
Activating constructor of data2
2: data2
1: data2
*/

/* Output for private print() in Data1
won't work! Data2 cannot "see" a private method in Data
so, a private method won't inherit and cannot be accessed directly by super

super_private.java:21: No method matching print() found in class Data1.
        super.print();
*/

