什么是接口?怎么使用接口?接口与抽象类的区别

本章内容

  1. 接口
  2. 接口的定义
  3. 接口的使用步骤
  4. 接口的基本实现
  5. 接口中的方法使用
  6. 方法重名及解决方案
  7. 抽象类与接口的区别

接口

概述: 接口,是java语言中的一种引用类型,是方法的集合,如果说类的内部封装了成员变量和构造方法,成员方法,那么接口的内部主要就是封装了方法。


接口的定义: 接口的定义和类的定义很相似,但是不再使用class关键字进行声明,虽然它也会被编译成class文件,但一定要明确他并不是类,而是另外一种引用类型。接口就是多个类的公共规范,接口也是一种引用数据类型。


接口中的内容
如果是JDK1.7,那么接口中包含的内容包含常量抽象方法
如果是JDK1.8,还可以包含默认方法静态方法
如果是JDK1.9,还可以包含私有方法


接口的使用步骤
  1. 接口不能直接使用,必须要有一个实现类来实现该接口,通过implements关键字,一个实现接口的类可以被看做是接口的一个子类,需要重写接口中的所有抽象方法,创建该子类对象,就可以调用方法了。
    接口的的格式
public interface 接口名称{
   
     //抽象方法 (主要)(JDK1.7)
     //常量            (JDK1.7)
     //默认方法        (JDK1.8)
     //静态方法        (JDK1.8)
     //私有方法(JDK1.9)
}

含有抽象方法
抽象方法:使用abstract关键字修饰,没有方法体内容,该方法主要是提供给子类使用的

public interface InterfaceName{
   
  public abstract void method();
   }

含有默认方法和静态方法
默认方法: 使用default关键字修饰的方法,不可省略,供子类调用或者子类重写。
静态方法: 使用static关键字修饰,供接口直接调用。

含有私有方法和私有静态方法
私有方法: 使用private关键字修饰,供接口中的默认方法或者是静态方法调用。(JDK1.9)

public interface InterfaceName{
   
  private void method(){
   
     //方法体内容
  }
}

2.接口的实现类必须重写(实现)接口当中的所有抽象方法。
实现:去掉abstract关键字,“;”换成“{ }”,即添加方法体内容
3.创建实现类的对象,进行使用
注意事项
如果实现类中并没有实现接口中的所有抽象方法,那么这个实现类自己必须是一个抽象类。


基本实现

实现的概述 : 类与接口的关系是实现关系,即类实现接口,该类称为接口的实现类也可以称为接口的子类。实现的动作类似于继承,格式相仿,只是关键字不同,实现使用implements关键字。
1.非抽象类实现接口,必须重写接口中的所有抽象方法
2.实现类继承了接口当中的默认方法,既可以直接调用,也可以重写。

public class 实现类 implements 接口名称{
   
//重写接口当中的所有抽象方法
//重写接口当中的默认方法(可选)

}

抽象方法的使用:必须全部实现


//定义一个接口
public interface  Biological{
   
    //定义一个吃东西的功能
    public abstract void eat();
    //休息
    public abstract void sleep();
    
}

//定义一个实现类
public class Animal implements Biological{
   
    
    @Override
    public void eat(){
   
        
        System.out.println("吃东西");
    }
    @Override
    public void sleep(){
   
        
        System.out.println("睡觉");
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值