欢迎光临
我们一直在努力

Java接口知识点

一、接口基础概念

 

1. 核心含义

接口相当于一套统一规则、行业标准,不管是写代码去实现这套规则,还是调用这套规则的代码,都必须严格遵守约定。

2. 基础语法规则

 

– 定义接口专用关键字: interface 

格式: interface 接口名称 {} 

– 接口编译后,会单独生成一份  .class  字节码文件

– 接口本身不能直接 new 创建实例对象,但可以定义接口类型的变量(引用)

– 接口里定义的变量:默认自带  public static final ,也就是公共静态常量,必须初始化且不能修改

– 接口里普通方法:默认自带  public abstract ,全部是公共抽象方法,没有方法体

– 接口不存在构造方法

补充区分:接口不属于类,和普通类、抽象类是两种不同结构。

 

二、接口的实现类(开发常用核心)

 

1. 实现语法

用  implements  关键字让普通类绑定接口:

 class 类名 implements 接口名 {} 

2. 关键注意事项

 

– 如果实现接口的类是普通类(不声明 abstract),必须重写接口里全部抽象方法,一个都不能少;

– 重写接口方法时,访问权限只能用  public ,不能缩小权限。

 

3. 典型使用方式(多态)

 接口类型 变量名 = new 实现类(); 

原理:父类引用指向子类对象,这里是接口引用指向它的实现类实例,属于多态,写业务代码时基本都按这个规范写。

 

示例完整代码

 

java

public class TestInter2{

    public static void main(String[] args){

        // 接口引用接收实现类对象,多态写法

        MyInter mi = new MyClass();

        mi.m1();

        int n = mi.m2();

        System.out.println(n);

    }

}

 

// 自定义接口

interface MyInter{

    int n = 3; // 等价 public static final int n = 3;

    void m1(); // 抽象无参方法

    int m2(); // 带返回值抽象方法

}

 

// 接口实现类

class MyClass implements MyInter{

    // 重写接口m1方法,必须加public

    public void m1(){

        System.out.println("m1的方法…");

    }

    // 重写接口m2方法

    public int m2(){

        System.out.println("m2的方法…");

        return 0;

    }

}

 

 

4. 接口回调概念

先定义好接口规范,先写调用接口的业务代码,后续再补充接口的具体实现类;

开发思路:业务只依赖接口标准,我们只需要按照接口定义,补全对应的实现逻辑即可。

 

三、面试重点:接口 vs 抽象类核心区别

 

对比维度 接口 interface 抽象类 abstract class 

定义关键字 interface abstract class 

成员变量 只能是 public static final 公共静态常量,赋值后不可修改 无限制:实例变量、静态变量、常量final都能定义 

内部方法 全是 public 抽象方法,无普通带方法体的方法 既能写抽象方法,也能写有完整代码的普通成员方法 

构造函数 完全没有构造方法 拥有构造方法,供子类实例化时初始化 

继承拓展 一个类可以同时实现多个接口(多实现,等同于多继承) 类只能单继承,一个子类只能继承一个抽象父类

赞(0)
未经允许不得转载:171主机测评 » Java接口知识点
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址