JAVA 学习模块十三: 接口

这里写图片描述

1.接口的定义




/*
当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式和定义表示,就是接口。 interface

定义接口使用的关键字是 interface


对于接口中常见的成员:(这些成员都有固定的修饰符)
1.全局常量: public static final
2.抽象方法: public abstract

由此可知,接口中的成员都是公共的权限。
*/



//类与类之间是继承关系,类与接口直接是实现问题


/*
接口不可以实例化,只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。
否则这个子类就是一个抽象类



*/
interface Demo
{
    public static final int NUM = 4;
    public abstract void show1();
    public abstract void show2();
}

class Demoim implements Demo
{

    public void show1()
    {}
    public void show2()
    {}

}


class InterfaceDemo
{

    public static void main(String[] args)
    {
        Demoim d = new Demoim();
        System.out.println(d.NUM);

    }

}

2.java 中的多实现

/*
接口的好处:
在java之中不直接支持多继承,因为会出现调用的不确定性,
所以java 将多继承机制进行了改良,在java中变成了多实现。

一个类可以实现多个接口。
*/


interface A
{
    public void showA();

}

interface Z
{
    public void showZ();

}

class   Test implements A,Z //多实现
{
    public void show()
    {

    }


}
/*
一个类在继承另一个类的同时,还可以实现多个接口.

接口的出现避免了单继承的局限性。一个子只有一个父
*/


class Test2 extends A implements Z,Q
{



}

3.接口的特点

/*
接口的特点:
1.接口是对外暴露的规则
2.接口是程序的功能扩展
3.接口的出现降低耦合性
4.接口用来多实现

抽象和接口的异同点:
1.抽象需要被继承,而且只能单继承
    接口需要被实现,而且可以多实现
2.抽象类中可以定义抽象方法和非抽象方法,子类继承后直接使用非抽象方法
    接口中只能定义抽象方法,必须由子类实现。

3.抽象类的继承是 is a 的关系,在定义该体系的基本共性内容。
    接口的实现是like a 的关系,在定义体系的额外功能。

*/

4.接口的应用

/*

笔记本电脑使用。

这些设备和电脑的耦合性降低了
*/

interface USB  // usb 接口  ,暴露规则
{
    public abstract void open();
    public abstract void close();
}

class BookPc
{
    public static void main(String[] args)
    {
        useUSB(new UPan());
        useUSB(new UsbMouse());
    }

    //使用规则
    public static void useUSB(USB u) //使用usb 方法,u 是接口的子类,即 UPan。
    {
        u.open();
        u.close();
    }
}

class UPan implements USB //接口的子类 ,实现规则
{
    public void open()
    {
        System.out.println("upan open");
    }
    public void close()
    {
        System.out.println("upan close");
    }

}

class UsbMouse implements USB
{
    public void open()
    {
    System.out.println("usbmouse open");
    }

    public void close()
    {
    System.out.println("usbmouse close");
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值