面向对象之接口

1.什么是接口

Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为。

接口可以理解为一种特殊的类,接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的(JDK 1.8 以后,接口里可以有静态方法和方法体了,接口允许包含具体实现的方法,该方法称为"默认方法",默认方法使用 default 关键字修饰,JDK 1.9 以后,允许将方法定义为 private,使得某些复用的代码不会把方法暴露出去)。

为什么要用接口


因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限。
接口也被用来实现解耦。
接口被用来实现抽象,而抽象类也被用来实现抽象,为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。

接口的格式

[public] interface 接口名{
 
}

注意:

接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。

public interface Animal {
     void eat();
     void run();
}

接口是Java中的一种类型,没有构造方法,而且是抽象类型,不能直接创建对象使用。和抽象类很相似,需要定义子类去实现接口。

implements关键字

用于实现接口

作用域修饰符 class 类名 implements 接口名1,接口名2,...{//接口可以同时实现多个接口
	//实现所有的抽象方法
}

要求:

1.子类必须重写实现全部接口中所有的抽象方法,否则,类必须声明为抽象的类。

public class Cat implements Animal{
    @Override
    public void eat() {
        System.out.println("吃鱼");
    }

    @Override
    public void run() {
        System.out.println("跑");

    }
}

接口的继承

一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。

public interface Herbivores extends Animal{
}

接口的多继承

在Java中,类的多继承是不合法,但接口允许多继承。

在接口的多继承中extends关键字只需要使用一次,在其后跟着继承接口。

public interface Herbivores extends Animal,Cell{
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值