Java 中的接口以及常见的 Cloneable 接口

目录

1. 概念

2. 语法规则

3. 接口的命名规则

4. 实现多个接口

5. 接口实现示例

 6. Cloneable 接口和深、浅拷贝

6.1 Cloneable 接口

6.2 浅拷贝

6.3 深拷贝


1. 概念

接口在 Java 中是一个抽象类型,是抽象方法的集合,是抽象类的更进一步。接口通常以 Interface 来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

2. 语法规则

在打印图形的示例中(可以看上一篇),父类中没有 Shape 没有包含别的非抽象方法,所以也可以将它设计成一个接口。

interface IShape {
    void draw();
}
class Cycle implements IShape {
    @Override
    public void draw() {
        System.out.println("○");
    }
}

public class Test {
    public static void main(String[] args) {
        IShape shape = new Rect();
        shape.draw();
    }
}

接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

接口中只能包含抽象方法。对于字段来说, 接口中只能包含静态常量(final static)。

interface IShape {
    void draw();
    public static final int num = 10;
}

小结:

  • 使用 interface 定义一个接口.
  • 子类使用 implements 实现接口,子类可以同时实现多个接口 implements 多个接口。
  • 接口中的方法一定是抽象方法, 因此可以省略 abstract.
  • 接口中的方法一定是 public, 因此可以省略 public.
  • Cycle 使用 implements 继承接口,此时表达的含义不再是 "扩展", 而是 "实现",扩展指的是当前已经有一定的功能了, 进一步扩充功能。实现指的是当前啥都没有, 需要从头构造出来。
  • 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
  • 一个类如果同时继承抽象类,实现接口,请先 extends 一个类,而后 implements 多个接口。
  • Java 中允许同时实现多个接口,不允许多继承。

3. 接口的命名规则

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

4. 实现多个接口

有时候我们需要一个类继承多个父类,但是在 Java 中只支持单继承,所以这时候就可以用多接口实现这种多继承的效果。

例子:

先通过类表示一组动物ÿ

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值