java基础---接口学习总结

java基础—接口

接口就是多个类的公共规范(一种公共的规范标准,只要符合规范标准,大家就都可以使用)

接口是引用数据类型,最重要的内容就是其中的抽象方法

如何定义一个接口:

public   interface   接口名称==(大驼峰)==   {
            接口内容
}
备注
1.如果是Java7,那么接口包括的内容有:
—A.常量
—B.抽象方法
2.如果是Java8,那么接口还额外包括的内容有:
—A.默认方法
—B.静态方法
3.如果是Java8,那么接口还额外包括的内容有:
—A.私有方法

在任何版的Java中,接口都可以定义抽象方法
注意事项
1.接口中的抽象方法,修饰符必须是两个固定的关键字:public  abstract
2.这两个关键字修饰符可以选择性的省略
3.方法的三要素可以随意定义

接口使用步骤

1.接口不能直接使用,必须有一个实现类来实现接口
格式:
public  class  实现类名称  implements  接口名称 {
                  …
}
2.接口的 实现类必须覆盖重写(实现)接口中所有的抽象方法==(实现:去掉abstract关键字,加上方法体大括号)==
3.创建实现类对象进行使用

注意事项
1.如果实现类不能够覆盖重写接口中所有的抽象方法,那么这个实现类就必须是抽象类

从Java8开始,接口里面允许定义默认方法

格式:
public   default  返回值类型   方法名称  (参数列表){
            方法体
}
备注
1.接口中的默认方法,可以解决接口升级的问题
2.接口的默认方法,可以通过接口的实现类直接调用
3.接口的默认方法,也可以被接口的实现类进行覆盖重写

从Java8开始,接口里面允许定义静态方法格式:

public   static  返回值类型   方法名称  (参数列表){
            方法体
}
备注
1.不能通过接口的实现类来调用接口中的静态方法
正确用法
1.通过接口名称,直接调用其中的静态方法
格式
接口名称.静态方法名(参数)

从Java9开始,接口里面允许定义私有方法(私有方法:不希望接口实现类访问到)

1.普通私有方法:解决多个默认方法之间的代码重复问题

格式:
private  返回值类型   方法名称  (参数列表){
            方法体
}

2.静态私有方法:解决多个静态方法之间的代码重复问题

格式
private  static  返回值类型   方法名称  (参数列表){
            方法体
}

接口当中也可以定义成员变量,但是必须用public static final 这三个关键字进行修饰,从效果上看就是接口的常量

格式:
public static final  数据类型  常量名称 = 数据值
备注
1.一旦使用final关键字进行修饰,就说明不可改变
2.接口中的常量可以省略public static final 这三个关键字,但是不写也照样是这样的
3.接口中的常量必须进行赋值,不能不赋值
4.接口中的常量的名字使用完全大写的字母,使用下划线进行分割(推荐命名),使用的时候用接口名称.接口中的常量的名字就可以了

接口内容小结
接口内容小结
接口在使用时需要注意的事情:
1.接口是没有静态代码块和构造方法的
2.一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
格式
public   class 实现类名称 implements 接口1,接口2 …{
             覆盖重写所有抽象方法
}
3.如果实现类所实现的多个接口中,存在重复的抽象方法,那么只需要覆盖重写一次即可
4.如果实现类没有实现所有接口的所有抽象方法,那么实现类就必须是个抽象类
5.如果实现类所实现的多个接口中有重复的默认方法,那么实现类一定要对重复的默认方法实现覆盖重写
6.一个类中如果直接父类的方法和接口中的默认方法产生了冲突,会优先用父类的方法

类和接口的关系
1.类与类之间是单继承,直接父类只有一个
2.类与接口是多实现的,一个类可以实现多接口
3.接口和接口之间是多继承的
注意事项
1.多个父接口当中抽象方法如果重复,没关系
2.多个父接口当中默认方法如果重复,那么子接口必须进行默认方法的覆盖重写,而且呆着default关键字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值