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

?????????????????? ???未??modifiers????????? interface?? ???????????????????????parent interfaces??????????澹╥nterface 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????????????????????????谩?

?????????????????????????????????????????????????????????????????????????????魏?????????

?????????澹╥nterface 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; 
        } 
    }