JAVA中的接口(接口与抽象类的区别)

Java接口详解

接口中所有方法都是:public abstract抽象方法

public interface MyInterface {
    public void foo()//其他方法
}

接口的特性 —— Java中的多继承
①接口不可以被实例化

②实现类必须实现接口的所有方法

③实现类可以实现多个接口

④接口中的变量都是静态常量

如何使用接口

编写接口

public interface UsbInterface {
    /**
     * USB接口提供服务。
     */
    void service();
}

实现接口

public class UDisk implements UsbInterface {//实现接口使用的关键字 implements   多个接口使用“,”分隔 
    public void service() {
        System.out.println("连接USB口,开始传输数据。");
    }
}

使用接口

UsbInterface uDisk = new UDisk();//用接口实现多态
uDisk.service();

接口有比抽象类更好的特性:

1.可以被多继承

2.设计和实现完全分离

3.更自然的使用多态

4.更容易搭建程序框架

5.更容易更换实现

抽象类与接口的相同点和不同点

相同点

代表系统的抽象层

都不能被实例化

都能包含抽象方法

用于描述系统提供的服务,不必提供具体实现

不同点

在抽象类中可以有普通方法,也可以有抽象方法,而接口中只能包含抽象方法

抽象类便于复用,接口便于代码维护
一个类只能继承一个直接的父类,但可以实现多个接口

使用原则

接口提供服务

接口本身一旦制定,就不允许随意修改

抽象类可完成部分功能实现,还有部分功能可作为系统的扩展点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值