接口精简解释

接口

类和接口

差异:
类:使用class Java类 是包含属性和方法,有自己的方法体
接口: intreface 是一个引用数据类型 只有方法,没有方法体
同:
都会编译成.class文件

JDK8

此版本以后,可以定义变量(默认为常量)、抽象方法、默认方法、静态方法

接口定义

// 接口定义,使用interface关键字
public interface 接口名{
    // 代码块
}

使用接口结构

1.使用关键字 interface 定义一个接口

public interface MyInterface {
   
}

2.创建实现类,实现接口,重写里面所有的抽象方法

public class MyInterfaceImpl implements MyInterface {
    }

3.创建测试类,创建实现类对象,调用实现类重写的方法

public class TestMyInterface {
    public static void main(String[] args) {
    //创建实现类的对象
        MyInterfaceImpl myInterface = new MyInterfaceImpl();
    }
}

接口使用规则

创建对象

        **不能**直接创建,需要实现类来实现接口

方法:

// 定义一个抽象方法 --> 默认使用public abstract修饰
    public abstract void a(); // 目前推荐方式
    // protected abstract void b();//错误
    public void b();
    abstract void c();
    void d(); // 后期推荐方式` 

接口内的方法的定义,默认都是public修饰,不写的时候,表示public省略,并非是默认权限修饰符

默认方法
  1. 默认使用public修饰,可以被实现类重写
  2. 实现类重写缺失了default关键字,不能使用接口名来访问,只能实现类的对象来访问。
  3. 如果实现类重写了默认方法(没有要求一定要重写),实现类对象访问的默认方法就是自己的
抽象方法
  1. 接口中的抽象方法,默认使用public abstract修饰,写不写都是他们两个修饰
  2. 没有方法体
public abstract void a();
静态方法
直接使用==接口名. 静态方法==访问,不能使用接口的实现类对象访问接口的静态访问
myInterface.d();
MyInterface.c();

实现类

  1. 实现接口使用implements关键字
  2. 接口可以多实现,但需要重写接口中的所有抽象方法。
  3. 多个接口存在重名,只需要重写一次即可
  4. 实现类实现多个接口并继承某个抽象类的时候:
public class MyInterfaceImpl extends Fu implements 
MyInterface,MyInterface02 {

}

(1)抽象类的普通方法 和 接口中的默认方法重名,子类(实现类)不重写的话,默认访问的是父类(抽象类)中的普通方法
(2)需要重写父类和接口中的所有抽象方法他,重名只需要重写一次

变量(常量)

  1. 接口中的变量(常量)默认被public final static修饰–>接口中的变量就是一个常量不能二次赋值
  2. 实现类和接口类的常量相同时,接口名.常量访问 = 接口中的常量,实现类对象.常量 = 实现类的常量(各找各家
  3. 实现类没有与接口相同的变量时,可以使用接口名来访问 or 实现类的对象访问。

抽象类和接口的差别

  1. 静态方法都不能被重写,但 抽象类的静态方法可以使用子类对象来访问,接口只能自己来
  2. 接口==》默认方法,抽象 ×
  3. 抽象类==》构造方法,接口 ×
  4. 抽象类==》普通方法他,接口 ×
  5. 抽象类==》静态代码块、代码块,接口 ×
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值