You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
1.2 KiB
16 lines
1.2 KiB
# AI协助记录
|
|
一、开发过程中遇到的问题
|
|
1. 多态调用接口方法的问题
|
|
问题:使用`Animal`父类引用指向`Dog`对象时,无法直接调用`swim()`方法,编译报错。
|
|
解决:通过`instanceof`关键字判断对象是否实现了`Swimmable`接口,再进行强制类型转换后调用。
|
|
2. 抽象类与接口的使用混淆
|
|
问题:不清楚何时用抽象类、何时用接口,导致初始设计逻辑混乱。
|
|
解决:明确抽象类用于**继承通用属性/行为**(动物的叫声是所有动物的通用行为),接口用于**扩展额外能力**(游泳是部分动物的能力),因此`Animal`用抽象类,`Swimmable`用接口。
|
|
3. 方法重写的规范问题
|
|
问题:子类重写抽象方法时,忘记加`@Override`注解,代码可读性差。
|
|
解决:在所有重写方法上添加`@Override`注解,规范代码,同时让编译器检查重写是否正确。
|
|
|
|
二、优化调整
|
|
1. 增加`instanceof`判断,避免类型转换异常
|
|
2. 为所有类和方法添加JavaDoc注释,提升代码可读性
|
|
3. 补充多场景测试(父类引用+直接对象调用),完整验证多态特性
|