???????????interface

?????????????????? ???δ??modifiers????????? interface?? ???????????????????????parent interfaces??????????壨interface body????

???????????£?

    public interface GroupedInterface extends Interface1?? Interface2?? Interface3 { 
    // constant declarations 
    // base of natural logarithms 
        double E = 2.718282; 
    // method signatures  
        void doSomething (int i?? double x); 
        int doSomethingElse(String s); 
    }

????Public?漲?????????????κ???е??κ???????á??????????????????public????????????????????????á?

?????????????????????????????????????????????????????????????????????????????κ?????????

?????????壨interface body??

???????????к????????????????з????????????????????????????????????????????????????????????????????е???????????public?????????δ?public?????????

?????????????????????????????????????δ?public?? static??final?????????

???????????

???????????????????????????????????????????????implements???????????????????????implements?????????????????????????????????????implements?????????extends????????檔

?????????????—Relatable

????Relatable?????????????????????С?????

    public interface Relatable { 
        // this (object calling isLargerThan) 
        // and other must be instances of  
        // the same class returns 1?? 0?? -1  
        // if this is greater // than?? equal  
        // to?? or less than other 
        public int isLargerThan(Relatable other); 
    }

???????????????????????????С?????????????????????????????Relatable????

???????а???????????????С???κ??????????Relatable??????????????????????????????????????????????????????????????????????????漸?ζ????????????????????????????????????????????????????????????????int isLargerThan()??????

??????????????????????Relatable??????????????????????????????

????Relatable???????

????????????????????????????Relatable????

    public class RectanglePlus 
        implements Relatable { 
        public int width = 0; 
        public int height = 0; 
        public Point origin; 
        // four constructors 
        public RectanglePlus() { 
            origin = new Point(0?? 0); 
        } 
        public RectanglePlus(Point p) { 
            origin = p; 
        } 
        public RectanglePlus(int w?? int h) { 
            origin = new Point(0?? 0); 
            width = w; 
            height = h; 
        } 
        public RectanglePlus(Point p?? int w?? int h) { 
            origin = p; 
            width = w; 
            height = h; 
        } 
        // a method for moving the rectangle 
        public void move(int x?? int y) { 
            origin.x = x; 
            origin.y = y; 
        } 
        // a method for computing 
        // the area of the rectangle 
        public int getArea() { 
            return width * height; 
        } 
        // a method required to implement 
        // the Relatable interface 
        public int isLargerThan(Relatable other) { 
            RectanglePlus otherRect  
                = (RectanglePlus)other; 
            if (this.getArea() < otherRect.getArea()) 
                return -1; 
            else if (this.getArea() > otherRect.getArea()) 
                return 1; 
            else
                return 0; 
        } 
    }