以前的接口中定义的方法不可以有方法体,这样试用起来,有时候听不方便的,当有多个类实现了想同的接口,接口中某一些方法的实现体可能都是一样的时候,这样无疑浪费了很多时间,在写重复的代码(或者说copy);
现在java8中可以接口可以有默认的方法MyInterface.java:
interface MyInterface{ String myNewName(String newName); default String myOldName(){ return "chao"; }}
GetName.java:
public class GetName implements MyInterface{ public static void main(String args[]){ GetName getName = new GetName();//可以直接调用接口中的默认方法myOldName() System.out.println("my old name is "+getName.myOldName()); String newName = "超人"; getName.myNewName(newName); }//只需要实现该方法即可; public String myNewName(String newName){ System.out.println("my new name is "+newName); return "my new name is "+newName; }}
my old name is chao
my new name is 超人