在本章的开始,我首先学习了接口,接口是用来设计ADT的一个方法,在接口中,我们设计各类方法和规约,这样将一个类的规约条件和他的实现分隔开,用户只能了解到规约,参数类型和返回值类型,而不能看到实现类的方法,所以这样的设计遵守了表示独立性,这样也方便了维护人员该ADT的规约,因为省去了实验代码,更加容易查找。
在学习接口的过程中,我还发现了其中的一个规律,那就是在接口中没有构造器,也无法保证所有实现类中都包含了同样名字的构造器。
之后学习了继承,继承关系是通过 extends 关键字产生的,如果我们要设计的多个类中存在相同属性和方法,那我们在设计中可以将这些内容抽取到单独一个类中,让另外的类继承这个父类,就无需再定义这些属性和行为。这方便了我们的设计。子类可以直接访问父类中的非私有的属性和行为,也就是无法继承父类中私有的内容,我们要了解到这一点。这提高了我们在编写代码时的复用性,缩短了编程时间,减小了任务量,而且让我们的工作更加有条理。
在继承中,java语言只支持继承一个父类的情况,不允许多重继承,但是多个类可以继承一个父类,此外继承还被分为两种: