想要了解Java接口特性,我们首先要知道接口并不是Java语言所独有的,接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
在Java中看到接口,第一个想到的可能就是C++中的多重继承和Java中的另外一个关键字abstract。从另外一个角度实现多重继承是接口的功能之一,接口的存在可以使Java中的对象可以向上转型为多个基类型,并且和抽象类一样可以防止他人创建该类的对象,因为接口不允许创建对象。
在Java中,interface关键字用来声明一个接口,它可以产生一个完全抽象的类,并且不提供任何具体实现。interface 的特性如下:
1.接口中的方法可以有参数列表和返回类型,但不能有任何方法体。
2.接口中可以包含字段,但是会被隐式的声明为 static 和 final 。
3.接口中的字段只是被存储在该接口的静态存储区域内,而不属于该接口。
4.接口中的方法可以被声明为 public 或不声明,但结果都会按照 public 类型处理。
5.当实现一个接口时,需要将被定义的方法声明为 public 类型的,否则为默认访问类型, Java 编译器不允许这种情况。
6.如果没有实现接口中所有方法,那么创建的仍然是一个接口。
7.扩展一个接口来生成新的接口应使用关键字 extends ,实现一个接口使用 implements 。
8.接口中的方法是抽象方法(abstract),不能是静态方法(static).接口的所有方法都是抽象的,而抽象方法是没有static,有static的方法是不能override的,所以这样定义接口才有意义。
同时在Java8中,接口有了新的特性:
1.默认方法:允许接口方法定义默认实现,子类方法不必须实现此方法而就可以拥有该方法及实现。默认方法使用 default 关键字修饰。可以通过实现类对象来调用。我们在已有的接口中提供新方法的同时,还保持了与旧版本代码的兼容性。
比如:java 8 API中对Collection、List、Comparator等接口提供了丰富的默认方法。
2. 静态方法:使用 static 关键字修饰。可以通过接口直接调用静态方法,并执行其方法体。我们经常在相互一起使用的类中使用静态方法。你可以在标准库中找到像Collection/Collections或者Path/Paths这样成对的接口和类。
以上就是为小伙伴们总结的Java接口特性,工欲善其事必先利其器,我们只有掌握了所有java接口特性才能随心所欲地调用Java接口,实现更多的功能。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习