// override a method in a subclass

public class override1 {
    
    public static void main(String args[]) {
	
	Data1 a = new Data1(1,2);
	Data2 b = new Data2(1,2);

	// Data2 overrides the op method of Data1
	a.op();  // use op method from Data1
	b.op();  // use op method from Data2

    } // method main

} // class override1


class Data1 {
    protected int m;
    protected int n;
    Data1(int i, int j) {
	m = i;
	n = j;
    } // constructor Data1

    // Add instance variables
    public void op() {
	System.out.println(m+n);
    } // method op

} // class Data1

class Data2 extends Data1 {
    Data2(int i, int j) {
	super(i,j);
    } // constructor Data2

    // Override the op method of Data1
    // Multiply instance variables
    public void op() {
	System.out.println(m*n);
    } // method op
    
} // class Data2

/* output:
3
2
*/
