Java中默认方法
Posted 东功
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中默认方法相关的知识,希望对你有一定的参考价值。
默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法,Mortal 这个接口,增加了一个默认方法 r,这个方法有实现体,并且被声明为了default,如以下代码:
这是Mortal 接口,第3行到第5行位默认方法的方法体
1 public interface Mortal { 2 public void die(); 3 default public void r() { 4 System.out.println("牛皮"); 5 } 6 7 }
下面是ADHero类实现上面的接口,第七行为默认方法的调用
1 public class ADHero implements Mortal { 2 public void die() { 3 System.out.println("ad英雄死了"); 4 } 5 public static void main(String[] args) { 6 ADHero a=new ADHero(); 7 a.r(); 8 } 9 }
假设没有默认方法这种机制,那么如果要为Mortal增加一个新的方法revive,那么所有实现了Mortal接口的类,都需要做改动。但是引入了默认方法后,原来的类,不需要做任何改动,并且还能得到这个默认方法。通过这种手段,就能够很好的扩展新的类,并且做到不影响原来的类。
以上是关于Java中默认方法的主要内容,如果未能解决你的问题,请参考以下文章
Sphinx、reStructuredText 显示/隐藏代码片段