Liskov Substitution Principle (LSP) LSP:抽象数据类型ADT和OO设计的重要原则 在可以使用父类的场景,都可以用它的任何子类代替而不会有任何问题 In Java 子类型可以增加方法,但不可删子类型需要实现抽象类型中的所有未实现方法子类型中重写的方法必须有相同类型的返回值或者符合co-variance的返回值子类型中重写的方法必须使用同样类型的参数或者符合contra-variance的参数子类型中重写的方法不能抛出额外的异常,抛出相同或者符合co-variance的异常