13 java接口

  • 接口就是多个类的公共规范
定义接口的格式
public interface 接口名称 {
	接口内容;
}
如果是Java7,那么接口中可以包含的内容有:
1.常量
2.抽象方法
如果是Java8,还可以额外包含有:
3.默认方法
4.静态方法
如果是Java9,还可以额外包含有:
5.私有方法
  • 接口中抽象方法的定义

注意:接口当中的抽象类方法,修饰符必须是两个固定的关键字:public abstract
        这两个关键字修饰符可以选择性的省略
public interface MyInterfaceAbstract {

    //这样定义是正确的
    public abstract void methodAbs1();
    //少了abstract,也是正确的
    public void methodAbs2();
    //少了public,也是正确的
    abstract void methodAbs3();
    //什么修饰符都没写,也是正确的抽象方法
    void methodAbs4();
}
  • 接口使用步骤

接口使用步骤:
1.接口不能直接使用,必须有一个“实现类”来“实现该接口。
格式:
public class 实现类名称 implements 接口名称 {
	// ...
}
2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法
3.创建实现类的对象,进行使用 
  • 接口的默认方法定义与使用

从java8开始,接口里允许定义默认方法
格式:
public default 返回值类型 方法名称(参数列表){
	方法体
}
使用:
1.接口的默认方法,可以直接通过接口实现类对象来调用
接口实现类对象.默认方法();
2.接口的默认方法,可以被接口实现类对象覆盖重写
  • 接口的静态方法定义与使用

从java8开始,接口里允许定义静态方法
格式:
public static 返回值类型 方法名称(参数列表){
	方法体
}
使用:
接口名称.静态方法名(参数);
注意事项:不能通过接口实现类对象直接调用静态方法
  • 接口的私有方法定义与调用

从java9开始,接口中允许定义私有方法
格式
1.普通私有方法,解决多个默认方法之间重复代码的问题
private 返回值类型 方法名称 (){
	方法体
}
2.静态私有方法,解决多个静态方法之间重复代码的问题
private static 返回值类型 方法名称 () {
	方法体
}
调用
1.只能在接口内使用,出了接口就不能用
2.方法名(参数);调用
  • 接口定义常量和使用

接口当中也可以定义“成员变量”,但是必须用public static final这三个关键字修饰
从效果上看,其实就相当于接口的“常量”
格式:
public static final 数据类型 常量名称 = 数据值;
public static final int NUM_OF_MY_CLASS = 10;

备注:
final关键字表示一旦修饰,说明变量的内容不可以改变

注意:
public static final其实可以省略,就算不写,也是常量
常量的名称用全大写名称,单词之间用下划线分开

使用:
接口名称.常量名
  • 继承父类并实现多个接口

1.接口没有静态代码块和构造方法
2.一个类可以实现多个接口
public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB
3.如果一个实现类实现了多个接口,而多个接口有重名的默认方法,则实现类必须要对重名默认方法进行重写
4.如果一个实现类所实现的多个接口中,存在重复的抽象方法,则只需要覆盖重写一次就行
5.一个实现类的直接父类中的方法与接口中的方法重名,则优先用父类的方法。
  • 接口之间的多继承

1.类与类之间是单继承的,直接父类只有一个
2.类与接口之间是多实现的,一个类可以实现多个接口
3.接口与接口之间是多继承的
public interface MyInterface extends MyInterfaceA, MyInterfaceB
注意:
1.如果父接口中的抽象方法重复,没关系
2.如果是默认方法方法,则必须重写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值