Android中接口(Interface)的简单使用

本文详细介绍了Android中接口的三种常见用途:解决Java多重继承问题、定义统一规范和用于回调机制。通过示例展示了如何定义接口、实现接口以及如何在回调中使用匿名内部类。回调机制旨在解耦,常见于处理耗时任务后的数据传递和同步更新。
摘要由CSDN通过智能技术生成

 

 

Java中的接口可以被看作是 只包含常量和抽象方法的抽象类 。

可以使用如下方式定义一个接口:

public interface InterfaceDemo {
    int i = 10;
    void method1();
    int method2();
}

 

使用1: 解决“多重继承”的问题

Java语言本身是不支持类的多重继承(多重继承是指一个类从多个类继承而来,即一个类拥有多个超类)的,但一个类却可以实现多个接口。这样,我们可以将一些抽象方法定义在接口中,间接地达到多重继承的目的。 
例如:

  • MyInterface1.java
public interface MyInterface1 {
    void fly();
}
  • MyInterface2.java
public interface MyInterface2 {
    void walk();
}
  • Bird.java

复制代码

public class Bird implements MyInterface1, MyInterface2 {
    private static final String TAG = "Bird";
    @Override
    public void fly() {
        Log.i(TAG, "I can fly");
    }

    @Override
    public void walk() {
        Log.i(TAG, "I can walk");
    }
}

复制代码

使用2: 定义一个规范(协议)

同一个接口可以有多个不同的实现类,但每一个实现类都必须重写接口中所有的抽象方法。即接口不考虑这些实现类各自采用什么方式实现这些功能,但它要求所有的实现类都必须有这些功能。 
例如: 
首先定义一个计算器的接口:Calculator.java,所有实现该接口的类,都必须具有计算两个数相加、相减、相乘、相除的功能。

复制代码

public interface Calculator {
    /** 计算器可以计算两个数的和 */
    int add(int a, int b);
    /** 计算器可以计算两个数的差 */
    int sub(int a, int b);
    /** 计算器可以计算两个数的积 */
    long mul(int a, int b);
    /** 计算器可以计算两个数的商 */
    float div(int a, int b);
}

复制代码

再定义一个实现该

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值