# Java程序设计 第6周作业 ## 一、作业内容 本周作业主要练习Java中的**接口(Interface)**,理解接口与抽象类的区别,以及类同时继承抽象类和实现接口的用法。 ## 二、项目结构 ``` w6/ ├── Animal.java # 抽象父类 - 动物 ├── Swimmable.java # 接口 - 可游泳 ├── Dog.java # 狗类(继承Animal,实现Swimmable) ├── Cat.java # 猫类(继承Animal) ├── Main.java # 测试类 └── README.md # 说明文档 ``` ## 三、知识点总结 ### 1. 抽象类 - 使用`abstract`关键字修饰 - 可以包含抽象方法和具体方法 - 不能被实例化 - 子类使用`extends`继承 ### 2. 接口 - 使用`interface`关键字定义 - 接口中的方法默认为`public abstract` - 类使用`implements`实现接口 - 一个类可以实现多个接口 ### 3. 接口与抽象类的区别 | 特性 | 抽象类 | 接口 | |------|--------|------| | 关键字 | abstract | interface | | 继承/实现 | extends | implements | | 多继承 | 单继承 | 可实现多个 | | 方法 | 可有具体方法 | 默认抽象方法 | | 变量 | 可有成员变量 | 只能是常量 | ### 4. 本项目设计思路 - `Animal`抽象类:定义所有动物的共性(发出声音) - `Swimmable`接口:定义会游泳的能力 - `Dog`类:继承Animal,同时实现Swimmable接口(狗会游泳) - `Cat`类:只继承Animal(猫不会游泳) ## 四、运行方法 ```bash cd w6 javac *.java java Main ``` ## 五、运行结果 ``` Woof! Meow! The dog is swimming! ``` ## 六、心得体会 1. 接口定义了一组行为规范,实现接口的类必须提供具体实现。 2. Java不支持多继承,但一个类可以实现多个接口,弥补了单继承的局限性。 3. 通过接口可以实现"行为"的抽象,如Swimmable表示"会游泳"这个能力,任何类都可以实现这个接口。 --- 作者:[学生姓名] 日期:2026年4月