接口中一共可以定义三种方法:

  1、抽象方法,也就是需要实现者必须实现的方法,最常见的那种

  2、默认方法,不需要实现者实现

  3、静态方法,不需要实现者实现

默认方法:

  允许在已有的接口中添加新方法,而同时又保持了与旧版本代码的兼容性,默认方法与抽象方法不同之处在于抽象方法必须要求实现,但是默认方法则没有要求实现,相反,每个接口都必须提供一个默认实现,这样所有的接口实现者将会默认继承他(如果有必要的话,可以覆盖这个默认实现)

静态方法:

  允许在已有的接口中添加静态方法,接口的静态方法属于接口本身,不被继承,也需要提供方法的实现。

默认方法和静态方法的访问:

  接口的静态方法:直接用接口的类型.方法名。

  接口的默认方法:得到接口的实现类对象,直接用对象的引用.方法名。默认方法可以被实现类覆盖。

下面上实例:

/**
* 测试接口
*/
public interface IFunctional { //定义一个抽象方法,要求被实现着实现
void method(String from); //定义一个默认方法,不要求被实现
default void defaultMethod(){
System.out.println("接口的默认方法");
} //定义一个静态方法,不要求被实现
static void staticMethod(){
System.out.println("接口静态方法的默认实现");
}
}
继承类
**
* 测试实现类
*/
public class Main implements IFunctional {
@Override
public void method(String from) {
System.out.println("子类实现的接口抽象方法...");
} public static void main(String[] args) {
Main main = new Main();
//访问接口的默认方法
main.defaultMethod();
//访问接口的静态方法:直接用接口的类型.方法名
IFunctional.staticMethod();
}
}

最新文章

  1. VB.NET中图像处理的一些技巧以及其和C#图像处理的差距。
  2. 源码编译安装mysql
  3. js-sort数组排序
  4. 升级tomcat7的运行日志框架到log4j2,可以打进kafka
  5. DX11.2 Tiled Resource Pool
  6. [Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)
  7. hdu 5495 LCS 水题
  8. JQuery调用iframe父页面元素与方法
  9. 湖南省第八届大学生程序设计大赛原题 D - 平方根大搜索 UVA 12505 - Searching in sqrt(n)
  10. Razor button
  11. ContourLine
  12. String,StringBuffer,StringBuilder个人认为较重要的区别
  13. 剑指offer编程题Java实现——面试题12打印1到最大的n位数
  14. P2P平台介绍
  15. python unittest addCleanup中也加失败截图功能
  16. 将一个xml文件解析到一个list中
  17. tomcat-内存溢出java.lang.OutOfMemoryErrory:PermGen space解决方法
  18. 【已解决】Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法
  19. Linux 4.10中两个新特性与我的一段故事
  20. eagle学习汇总

热门文章

  1. Java学习知识体系大纲梳理
  2. nmap扫描开放端口
  3. u-boot剖析(一)----Makefile分析
  4. Burpsuite Professional安装及使用教程
  5. Memcache笔记02-telnet操作memcached
  6. UVA 674 Coin Change 硬币转换(完全背包,常规)
  7. 洛谷 P1426 小鱼会有危险吗
  8. java面试题(杨晓峰)---第七讲谈谈int和integer有什么区别?
  9. Ubuntu下安装XAMPP
  10. VS开发软winform软件的更改用户使用权限