loading...
接口的基本概念
Published in:2022-01-31 | category: JavaSE基础知识
Words: 538 | Reading time: 1min | reading:

接口

写法

1
2
3
4
访问权限修饰符 interface 类名{
公共的 静态的 不可修改的常量;
抽象方法:默认使用public abstract 修饰
}

接口中的属性默认使用public static final修饰。

实现接口

1
2
3
访问权限修饰符 class 类名 implements 接口1,接口2...{

}

接口与抽象类的区别

Inteface

1
2
3
4
5
6
访问权限修饰符 interface 接口名{
公共的 静态的 不可修改的常量
抽象方法:默认使用public
abstract修饰
没有构造方法,动态代码块,静态代码块
}

抽象类

1
2
3
4
5
6
访问权限修饰符 abstract class 类名{
属性
构造函数
方法
抽象方法
}

Java只能单继承但是可以多实现

抽象类使子类向上抽取的概念

接口定义一个功能

  1. 默认的实现方法:
    1. 抽象类可以有默认的方法实现完全是抽象的
    2. 接口根本不存在方法的实现
  2. 是否有构造方法:
    1. 抽象类可以有构造方法
    2. 接口不能有构造方法
  3. 可用的修饰符:
    1. 抽象方法可以被public,protected和default这些修饰符
    2. 接口方法默认修饰符是public。不可以使用其他修饰符
  4. 速度:
    1. 抽象方法的速度比接口快
    2. 接口是稍微有点慢的,因为它需要时间去寻找在类中实现的放啊
  5. 新增新方法对子类的影响:
    1. 如果你往抽象类中添加新的方法,你可以直接实现方法,不需要更改你原有的代码
    2. 接口中只能添加抽象方法,当你添加了抽象方法,实现接口的类必须实现这个方法
  6. 一个类只能继承一个父类,但是可以实现多个接口

常见关系

  • 类与类
    • 继承:单继承
    • 聚合:多聚合
  • 类与接口
    • 实现:多实现
  • 接口与接口
    • 继承:多继承

接口的好处

  • 程序的耦合度降低
  • 更自然的使用多态
  • 设计与实现完全分离
  • 更容易搭建程序框架
  • 更容易更换具体实现
Prev:
数据类型与类型转换
Next:
选择排序和冒泡排序
catalog
catalog