Java码农人生开启手册——接口

接口可以看做是多个类的公共规范,是一种引用类型。

一、接口的语法

接口的定义格式与类相似,关键字为 interface 。

java 复制代码
public interface 接口名称{
    // 抽象方法
    public abstract void method1(); // public abstract 是固定搭配,可以不写
    public void method2();
    abstract void method3();
    void method4();
    // 注意:在接口中上述写法都是抽象方法,跟推荐方式4,代码更简洁
}

注意:

  1. 创建接口时,接口的命名一般以大写字母 I 开头。
  2. 接口的命名一般使用"形容词"词性的单词。
  3. 阿里编码规范中约定,接口中的方法和属性不要加任何修饰符号,保持代码的简洁性。

二、接口的使用

接口不能直接使用,必须要有一个"实现类"来"实现"该接口,实现接口中的所有抽象方法。

java 复制代码
//子类和父类之间是 extends 继承关系,类与接口之间是 implements 实现关系。
public class 类名称 implements 接口名称{
    // ...
}

三、接口的特性

1、接口类型是一种引用类型,但是不能直接 new 接口的对象

2、接口中每一个方法都是public的抽象方法,即接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)

3、接口中的方法不能在接口中实现,只能由实现接口的类来实现

4、重写接口中的方法时,不能使用默认的访问权限

5、接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final变量

6、接口中不能有静态代码块和构造方法

7、接口虽然不是类,但是接口编译完成后字节码文件的后缀格式也是 .class

8、如果类没有实现接口中所有的抽象方法,则类必须设置为抽象类

9、jdk8中:接口中还可以包含default方法。

四、接口的继承

在Java中,虽然不支持多继承,但是一个类可以实现多个接口。接口之间可以实现多继承,相当于把多个接口合并起来。

IDEA 中使用 ctrl + i 快速实现接口。

五、Clonable 接口和深拷贝

Clonable 是Java中内置的一个接口。在Object类中存在一个clone方法,调用这个方法可以创建一个对象的"拷贝"。想要合法调用clone方法,就必须先实现Clonable接口,否则就会抛出CloneNotSupportedException异常。

Clonable 拷贝出来的对象是一份"浅拷贝"

相关推荐
AI人工智能+电脑小能手几秒前
【大白话说Java面试题 第69题】【JVM篇】第29题:GC Roots 有哪些?
java·开发语言·jvm·面试
William Dawson4 分钟前
【通俗易懂!Spring四大核心注解源码解读:@Configuration、@ComponentScan、@Import、@EnableXXX实战】
java·后端·spring
Matlab程序猿小助手13 分钟前
【MATLAB源码-第319期】基于matlab的帝王蝶优化算法(MBO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
Tigshop开源商城15 分钟前
Tigshop 开源商城系统 JAVA v5.8.28 版本发布|『角色权限管理+店铺后台跳转逻辑』优化
java·开源商城系统·tigshop
码点滴16 分钟前
CRI-O选型与容器运行时标准
开发语言·人工智能·架构·kubernetes·cri-o
回眸&啤酒鸭17 分钟前
【回眸】嵌入式软件单元测试工具链实战指南
开发语言·单元测试·白盒测试
彦为君19 分钟前
JavaSE-10-并发编程(11个案例)
java·开发语言·python·ai·nio
石山代码20 分钟前
java前景
java·开发语言
10岁的博客21 分钟前
C++ 进制转换:通用 a 进制转 b 进制(2-36进制)题解
开发语言·c++
希望永不加班33 分钟前
var局部变量类型推断的利弊
java·服务器·前端·javascript·html