//接口学习回顾,若有不足或有错误的地方欢迎大佬纠正与补充
1.接口的定义:
interface 接口属于一种属于类型,数据类型分为基本数据类型与引用数据类型,接口又属于引用数据类型的一种,接口的定义格式如下图
2.接口的特点
2.1接口是不可以进行创建对象的
2.2 若是子类实现了接口,那么子类就必须要进行重写接口里面的所有抽象方法
实验(1)若子类实现接口 接口里面抽象方法,不去重写会不会报错?
子类实现了接口没有进行重写接口的方法,会发生报错
实验(2)重写过后会不会进行报错?
子类实现接口,重写了接口里面的抽象方法是不会报错的
2.3 子类和接口的关系是实现的关系,也可以多实现
3.接口中的成员
3.1成员变量:接口中的变量全部都是常量因为,接口中成员变量前都有 public static final所以接口中的所有成员变量都会变为自定义常量,其值只能赋值一次,不可以进行修改如下图
3.2接口中没有构造方法
3.3默认方法:如果我们正常创建方法 void shou(); 没有任何修饰符的情况下java底层会在前面默认有一个 public abstract的也就说在接口中创建的没有任何修饰的方法就是抽象方法,我们知道抽象类中有了抽象方法,普通子类继承需要重写抽象类中的抽象方法,所以在接口的抽象类中我们实现也是需要进行重写,我们怎么去避免这个重写呢,要避免 重写就要让它不是一个抽象方法,要是想要让它不是抽象方法,我们在void 前面添加一个default修饰就可以成为一个默认方法,当我们的子类在实现的时候是不需要进行重新的,结果如图下
4.类与接口的关系
4.1类和类:类和类是继承的关系,可以单继承不可以多继承可以多层继承
(1)类的单继承
(2)类的多层继承
类的多继承报错情况
4.2类与接口可以进行单继承单实现多实现
(1)单继承加单实现
(2)单继承多实现
4.3接口与接口直接可以进行继承可以单继承也可以多继承,如果一个接口继承多个几口,接口里面有默认的方法那么子接口就必须要进行重写
5.接口的作用:具有解耦合性的作用,接口的边缘作用:规范性:接口中有抽象方法则子类必须进行重写 可拓展性:按照接口的规则去创建的,就能够和接口对接上
6.抽象类与接口的区别:1.语法上非常的相似2.设计理念上有很大的区别