接口和抽象类的关系?

来源:互联网 发布:shadowsock 知乎 编辑:程序博客网 时间:2024/05/22 14:54
/*
需求:理解接口和抽象类的关系?
接口和抽象类之间的关系如下:
1、接口中的方法都是抽象方法,抽象类中的方法可以为抽象的,也可以为非抽象的(抽象方法一定要放在抽象类中,但抽象类中不一定含有抽象方法)。
2、接口必须通过实现来完成,而抽象类是通过继承来完成的。
3、类与类之间是继承关系,类与接口之间是实现关系。
开发时是使用抽象类还是使用抽象方法,要根据不同的问题领域来分析。


抽象类定义的是一类事物的基本功能。
接口定义了事物的扩展功能。


举例:
思路:1、犬按功能分类,可分为导航犬和搜爆犬
 2、定义一个Dog抽象类,类中定义犬的共性成员,
 3、定义两个Dog类的子类
*/
class InterfaceDemo01 
{
public static void main(String[] args) 
{
DaohangDog dd=new DaohangDog();
dd.train();
dd.guidRoad();
}
}
//定义一个抽象类Dog
abstract class Dog
{
abstract void train();
}
interface Daohang
{
void guidRoad();
}
class DaohangDog extends Dog implements Daohang
{
public void train()
{
System.out.println("训练导航犬");
}
//指路是导航犬的特有功能,可以理解为是犬的扩展功能,所以可以定义一个接口来让DaohangDog类实现
public void guidRoad()
{
System.out.println("导航犬指路");
}
}
原创粉丝点击