作者:yu2531958135 | 来源:互联网 | 2022-12-14 17:09
类似于这种
interface Animal
{
void run1();
void run2();
void run3();
}
class sheep implements Animal
{
public run1()
{
代码片段1
}
public run2()
{
代码片段2
}
public run3()
{
代码片段3
}
}
class pig implements Animal
{
public run1()
{
代码片段1
}
public run2()
{
代码片段2
}
public run3()
{
代码片段3
}
}
其中类sheep和pig中代码片段1、2、3分别是相同的
这个要怎么优化?在子类和接口中间加一层抽象类实现部分相同方法?
11 个解决方案
对,你说的没错,加个抽象类,随便你实现几个方法,子类继承抽象类,如需改变,重写方法!
既然代码片段都相同,何不设置一个非抽象类Animal来代替接口?
楼主你不是很明白么?还问啥。
4楼的方法似乎jre1.8版本才支持。之前的版本接口是决不允许有实现方法的。
写一个类来实现Animal接口,然后让pig跟sheep继承这个类
写一个抽象类实现实现Animal接口,然后让pig跟sheep继承这个类,这样做法是比较好的