面向对象之接口

面向对象之接口

 接口概念

接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。

 接口的定义

与定义类的class不同,接口定义时需要使用interface关键字。

定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。

这点可以让我们将接口看做是一种只包含了功能声明的特殊类。

定义格式:

public interface 接口名 {
  抽象方法1;
  抽象方法2;
  抽象方法3;
}

使用interface代替了原来的class,其他步骤与定义类相同:

l  接口中的方法均为公共访问的抽象方法

l  接口中无法定义普通的成员变量

 类实现接口

类与接口的关系为实现关系,即类实现接口。实现的动作类似继承,只是关键字不同,实现使用implements。

classimplements 接口 {
    重写接口中方法
}

接口中成员的特点

1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量,其值不能改变。

2、接口中可以定义方法,方法也有固定的修饰符,public abstract

3、接口不可以创建对象。

4、子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类。

package com.oracle.demo01;
//接口中的所有方法都必须是public abstract
//如果不声明,那么默认public abstract
//在接口中所有的成员变量都是常量  默认修饰符:public static final
//static: 类名.成员调用
//final:声明变量  就是常量
public interface MyInterface {
    public static final int a=1;
    public abstract void method1();
    public int method2();
}

  接口的多实现

interface Fu1
{
    void show1();
}
interface Fu2
{
    void show2();
}
class Zi implements Fu1,Fu2// 多实现。同时实现多个接口。
{
    public void show1(){}
    public void show2(){}
}

接口的思想

总结:接口在开发中的它好处

1、接口的出现扩展了功能。

2、接口其实就是暴漏出来的规则。

3、接口的出现降低了耦合性,即设备与设备之间实现了解耦。