// interfaces

interface Data1 {
    public final int x = 1;      // constant
    public int y = 2;            // constant
    public int calc1();          // abstract method
    abstract public int calc2(); // abstract method
}

interface Data2 {
    public final int z = 3;      // constant
}

class DataA implements Data1 {
    public int calc1() { return x+y; }
    public int calc2() { return x*y; }
}

class DataB implements Data1, Data2 {
    public int calc1() { return x+y+z; }
    public int calc2() { return x*y*z; }
}

public class interface_basics {
    public static void main(String[] args) {
	System.out.println(new DataA().calc1());
	System.out.println(new DataB().calc1());
    }
}

/* output: 
3
6
*/