exinterface.java

来自「Java the UML Way 书中所有源码」· Java 代码 · 共 70 行

JAVA
70
字号
/*
 * ExInterface.java   E.L. 2001-08-18
 *
 */

interface MyComparable {
  /* public abstract is implied for methods */
  boolean greaterThan(Object obj);
  boolean lessThan(Object obj);
  boolean equal(Object obj);
}

interface Constants {
  /* public static final is implied for variables */
  int min = 1000;
  int max = 9999;
}

class FourDigitsNumber implements Constants, MyComparable {
  private int value;

  public FourDigitsNumber(int initValue) {
    if (initValue < min) value = min;
    else if (initValue > max) value = max;
    else value = initValue;
  }

  public int getValue() {
    return value;
  }

  public boolean greaterThan(Object obj) {
    FourDigitsNumber number = (FourDigitsNumber) obj;
    return (value > number.getValue());
  }

  public boolean lessThan(Object obj) {
    FourDigitsNumber number = (FourDigitsNumber) obj;
    return (value < number.getValue());
  }

  public boolean equal(Object obj) {
    FourDigitsNumber number = (FourDigitsNumber) obj;
    return (value == number.getValue());
  }
}

class ExInterface {
  public static void main(String[] args) {
    FourDigitsNumber number1 = new FourDigitsNumber(700);
    FourDigitsNumber number2 = new FourDigitsNumber(1700);
    FourDigitsNumber number3 = new FourDigitsNumber(70000);
    System.out.println(number1.getValue());
    System.out.println(number2.getValue());
    System.out.println(number3.getValue());
    System.out.println(number1.greaterThan(number2));
    System.out.println(number1.lessThan(number2));
    System.out.println(number1.equal(number2));
  }
}

/* Example Run:
1000
1700
9999
false
true
false
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?