Java_接口

1、在Java中,最小的单元是类,接口就是一个特殊的类;

Java的接口规范:用于定义一组抽象方法,表示某一类事物必须具有的功能,要求实现类必须要实现该接口并提供方法实现;

定义类的语法[public] class 类名{}

定义接口的方法[public] interface 接口名{}

接口起名:表示具有某些能力的,习惯用able结尾;

2、接口存在的成员

1):接口中没有构造器;不能创建对象;接口中,不能定义普通方法;

2):接口中定义的字段,实质是全局静态常量;默认使用 public static final 修饰;

3):接口中定义的方法是公共的抽象方法,默认的使用public abstract修饰方法;

一般的,在定义接口方法时,不使用修饰符

4):接口中定义的内部类,都是公共的静态内部类;默认使用public static修饰内部类;

5):接口只能继承接口,不能继承类;接口支持多继承;

3、标志接口:

接口中没有没有任何成员,就仅仅只是一个标志;其他的类实现该接口 ,就属于该家族;

4、接口的实现

接口仅仅定义了 某一些事物应该具备的某些功能,但是并没有提供任何实现;

此时,必须提供类,再让类去实现接口,比覆盖接口中的方法,从而实现接口中的功能;

语法:[修饰符] 类名 extends 父类 implements 接口1,接口2{ };

类实现多个接口,弥补了类的单继承关系;

接口和实现类之间的关系,称为实现关系;使用implements来表示;(有时候也称为继承关系)

也可以理解为接口是实现类的父类;实现类就是接口类的子类; 

5、面向接口编程

接口  变量 = 创建实现类对象 // 多态思想;

接口和实现类的多态关系才是使用最多的;

6、接口和抽象类的区别

相同点:

都应当位于继承的顶端,取用被其他类实现或继承;

都不能实例化;

都可以定义抽象方法,其子类、实现类必须复写这些方法;

不同点:

接口没有构造方法,抽象类有构造方法;

一个类只能继承一个直接父类,接口是多继承的,并且支持一个类实现多个接口;

成员变量:接口默认是 public static final,抽象类默认是包权限;

方法:接口里面定义默认是 public abstract,抽象类默认是包权限;

内部类:接口里面定义默认是 public static ,抽象类默认是包访问权限;

如果接口和抽象类都能完成相同的功能,那么尽量使用接口,(面向接口编程);

设计模式:接口和抽象类集合使用;

7、面向接口的好处

多态的好处:把实现类的对象赋给接口类型变量,屏蔽了不同实现类之间的实现差异,从而做到通用编程;

你可能感兴趣的:(Java_接口)