Java接口

接口是一组对类的需求描述,这些类要遵从接口描述的统一格式进行定义。

“如果你的类遵从某个特定接口,那么我就履行这项服务”。

一个具体的例子:Arrays类中的sort方法承诺可以对对象数组进行排序,但要求满足一个前提:对象所属的类必须实现了Comparable接口。

如:

class Employee implements Comparable<Employee>{
    private double salary;
    public int compareTo(Employee other){
        if(salary<other.salary) return -1;
        if(salary>other.salary) return 1;
        return 0;
    }
}

这样就可以对Employee数组如employees进行排序了:Arrays.sort(employees);

为什么不能直接提供一个compareTo方法,而必须实现Comparable接口呢?

主要原因在于Java程序设计语言是一种强类型(strongly typed)语言。在调用方法如sort时,编译器将会检查这个方法compareTo是否存在 。为此,编译器必须确认数组成员a[i]一定有compareTo方法。

接口七大特性:

1、接口不是类,尤其是不能使用new运算符实例化一个接口

2、可以声明接口变量,接口变量必须引用实现了接口的类对象

3、可以使用instanceof检查一个对象是否实现了某个特定的接口

4、可用extends关键字扩展接口

5、尽管在接口中不能包含实例域或静态方法,但是可以包含常量

6、与接口中的方法一样,接口中的域也自己地设为public static final

7、尽管每个类只能够拥有一个超类,但却可以实现多个接口(与抽象类相比的优势之一)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itzyjr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值