java学习笔记(三)java接口总结

java接口总结

1、在java中,接口是一种与类看起来类似的类型,但不是类。接口主要用来定义类的需求。在标准库中,往往这样应用接口:
“Array类中的sort方法可以对对象数组进行排序,前提是数组中的对象所属的类必须实现Comparable接口”。

2、接口的声明:
public interface Comparable{
    int compareTo(Object Other);
}
可见,接口的声明与类相近,区别是使用interface修饰符;接口中的方法没有方法体部分;接口中不能含有实例域,但可以有常量。接口中的方法自动且一定是public的,域自动且一定是public static final的。

3、接口的实现。在声明一个接口后,之后的声明的类可以对其进行实现,类似于新的类继承于抽象类,新类中要对接口中声明的方法进行实现:
class Employee implements Comparable{
    int compareTo(Object Other){
    @TO DO...
    }
}
可见实现接口的类应用implements符号修饰。注意,一个类可以实现多个接口,而一个类只能继承一个父类。实现某一接口的类自动获得该接口定义的所有常量和方法。类中其他方法使用这些常量时,直接使用即可。

4、用泛型声明接口。接口由于其中方法被什么类实现,用于完成什么样的功能并不明确,所以可以用泛型声明接口,在不同类实现该接口时,可以传入不同的类型参数。例如:
public interface Comparable<T>{
    int compareTo(T other);
}

class Employee implements Comparable<String>{
    int compareTo(String other);
}

5、接口在回调中的应用。回调是指使得程序在某一个既定的情况下自动地调用某一方法的设计模式。而接口中的函数往往充当那个被调用的函数,这一点在java标准库中的许多方法和Android框架中十分常见。具体过程如下:
以java.swing包中的Timer类为例,该类能够在到达一定时间时做出某些动作。在实例化该类,需要传入时间间隔参数和具体做什么事的参数,其中第二个参数以对象的形式出现,即传入某个时间间隔和某个对象,每当到达时间时,Timer便执行该对象中的一个方法。而具体要执行的方法,就是该对象的类所实现的一个特定接口的方法。该接口是java.awt.event包的ActionListener接口:
public interface ActionListener{
    void actionPerformed(ActionEvent event);
}

/*声明一个类实现这个接口*/
class TimeMovement implements ActionListener{
    public void actionPerformed(ActionEvent event){
    System.out.println("OK");
    }
}

public void main(String[] arg){
    TimeMovement m_tm = new TimeMovement();
    Timer m_timer = new Timer(10000, m_tm);
    /*利用实际时间间隔和需要执行的方法所在的对象构造一个Timer对象*/
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值