继承:Java和其他面向对象的语言的核心是继承的概念 ,它允许一个类中复用另一个类中所定义的代码。在Java中,你可以定义一个一般的(更抽象的)超类,然后用更具体的子类扩展它。
接口:与继承相关的另一个强大的技术是使用接口。接口好比100%抽象的超类,它定义了子类必须支持的方法,但是未定义该如何支持它们。话句话说,一个Animal接口可能声明所有Animal实现类都具有eat()方法,但是Animal接口没有为eat()方法提供任何逻辑。这意味着,当调用特定的Animal类型的eat()方法时,确定其行为的方式的实际代码是由实现Animal接口的类定义的。