首先必须明白Interface与abstract class的区别:Interface只能含成员函数的声明,不能有任何定义,而abstract class可以对部分成员函数提供实现。
知道了区别后,就知道当你的类层次体系达到一定规模时,就很有可能在底层类中运用Interface,在较高层次用到abstract class,这样可以使类层次体系更加清晰。
知道了区别后,就知道当你的类层次体系达到一定规模时,就很有可能在底层类中运用Interface,在较高层次用到abstract class,这样可以使类层次体系更加清晰。
float PI = 3.1415;
public void say();
}
你可以定义一个全部是abstract方法的abstract类,那它跟接口几乎没差别,只不过实现的方法不一样,这个是用extends
但有时我们需要从多个不同的"抽象类"覆盖不同的方法时,JAVA就做不到了,因为JAVA不支持多继承,此时的抽象类就用接口替代了,这样就实现自己的功能了
总之看你的软件需求了,你可以选择以上两者中适当的方法
用抽象类实现接口功能更强大/*************************************/何处此言?显然是接口更强大。。