接口
接口的概述和生活举例
接口定义的基本格式
**接口就是多个类的公共规范。
接口是一种引用数据类型,最重要的内容就是其中的:抽象方法**
如何定义一个接口的格式:
public interface 接口名称{
//接口内容
}
**备注:换成了关键字interface之后,编译生成的字节码文件仍然是:java-->.class。
如果是Java7,那么接口中可以包含的内容有:
1.常量
2.抽象方法
如果是Java8,还可以额外包含有:
3.默认方法
4.静态方法
如果是JavaT9,还可以额外包含有:
5.私有方法**
接口的抽象方法定义
/*在任何版本的Java中,接口都能定义抽象方法。格式:
public abstract 返回值类型 方法名称(参数列表);
注意事项:
1接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract
这两个关键字修饰符,可以选择性地省略。
3.方法的三要素,可以随意定义。*/
public interface MyInterfaceAbstract{
//这是一个抽象方法
public abstract void methodAbs1();
//这也是抽象方法
abstract void methodAbs2();
//这也是抽象方法
public void methodAbs3();
//这也是抽象方法
void methodAbs4();
}
接口的抽象方法使用
实现类可以理解为继承中的子类,使用方法和抽象方法基本上一样的
举例配合理解:
接口的默认方法定义
例如:当在接口中新添一个抽象方法,那么就必须要在后面的实现类中再次写入重写覆盖,而接口的默认方法不用。
接口的默认方法使用
1.接口的默认方法,可以通过接口实现类对象,直接调用。
2.接口的默认方法,也可以被接口实现类进行覆盖重写。
举例配合理解:
接口的静态方法定义与使用
接口的私有方法定义
接口的私有方法使用
注意:cc 和 ff 只能被本类访问
接口的常量定义和使用
使用方式:直接通过接口名.常量名
接口的内容小结
[]代表可省略的关键字
特别注意:一个类可以实现多个接口;extends和implements可以共存,extends在前,implements在后;使用接口写代码的时候,可以使用多态(父亲类型引用指向子类型对象)。
继承父类并实现多个接口
**如果想要继承父类也实现接口
格式 public class Zi extends Fu implements 接口名{}
extends在前,implements在后**
接口与接口之间的多继承
举例配合理解:
接口在开发中的作用
总结一句话:三个字"解耦合"
面向接口编程,可以降低程序的耦合度,提高程序的扩展力。符合OCP开发原则。接口的使用离不开多态机制。(接口+多态才可以达到降低耦合度。)接口可以解耦合,解开的是谁和谁的耦!!!
任何一个接口都有调用者和实现者。
接口可以将调用者和实现者解耦合。
调用者面向接口调用。
实现者面向接口编写实现。
以后进行大项目的开发,一般都是将项目分离成一个模块一个模块的,模块和模块之间采用接口衔接。降低耦合度。