// 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 */