java 接口 学习笔记

java中接口的定义

接口的基本使用

接口与接口的多继承关系

JDK8接口新增方法

接口使用过程中的注意事项


java中接口的定义

接口用关键字interface来定义

public interface 接口名 {
    // 常量
    // 抽象方法
} 

JDK8之前接口中只能是抽象方法和常量

接口不能实例化

接口中的成员都是public修饰的 写不写都是 因为规范的目的是为了公开化

//声明接口
public interface interface_demo {
    //接口中只能有常量和抽象方法

    //常量
    public static final String NAME = "张三";
    //抽象方法
    public abstract void eat();
}
接口其实就是体现一种规范

接口的基本使用

接口是用来被类实现(implements)的,实现接口的类称为实现类。实现类可以理解成所谓的子类。


修饰符 class 实现类 implements 接口1, 接口2, 接口3 , ... {
}
实现的关键字:implements

  *一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类。

 定义接口:

//接口体现规范思想
public interface S_Man {
    //定义抽象方法
    void eat();
    void drink();
}

创建实现类: 

//实现类
public class people implements S_Man{  //使用需要重写接口中的方法
    //定义 一个名字
    private String name;

    //创建一个有参构造器
    public people(String name) {
        this.name = name;
    }

    @Override
    public void eat() {
        System.out.println(name+"要按时吃饭");

    }

    @Override
    public void drink() {
        System.out.println(name+"要多喝水");

    }
}

测试类: 


//测试类
public class test {
    public static void main(String[] args) {
        //接口被类实现
        people m = new people("小明");
        m.eat();
        m.drink();

    }
}

执行效果: 

 

 接口可以被类单实现 也可以被类多实现(在之前接口后面加个逗号可以继续将另外的接口写入)

接口与接口的多继承关系

 类和类的关系:单继承。

 类和接口的关系:多实现。

接口和接口的关系:多继承,一个接口可以同时继承多个接口。

接口多继承的作用:

规范合并,整合多个接口为同一个接口,便于子类实现。

 例如:

 使用extends关键字合并继承了其他接口的功能

 实现类只需使用一个Man接口就可以实现三个接口的功能

JDK8接口新增方法

1.默认方法

类似之前写的普通实例方法:必须用default修饰

默认会public修饰 需要用接口的实现类的对象来调用

 default void run(){
        System.out.println("跑起来————");
    }

2.静态方法

默认会public修饰,必须static修饰。

注意:接口的静态方法必须用本身的接口名来调用。 

static void uName(){
        System.out.println("嗨嗨嗨!");
    }

 3.私有方法

必须使用private修饰,从JDK 1.9才开始有的

只能在本类中被其他的默认方法或者私有方法访问

private void run(){
        System.out.println("私有");
    }

接口使用过程中的注意事项

  1. 接口不能创建对象
  2. 一个类实现多个接口,多个接口的规范不能冲突
  3. 一个类实现多个接口,多个接口中有同样的静态方法不冲突。
  4. 一个类继承了父类,同时又实现了接口,父类中和接口中有同名方法,默认用父类的。
  5. 一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
  6. 一个接口继承多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

open_test01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值