java8的接口新特性(可以有方法体的接口)(转)
以前Java的接口中定义的方法不可以有方法体,这样试用起来,有时候听不方便的,当有多个类实现了想同的接口,接口中某一些方法的实现体可能都是一样的时候,这样无疑浪费了很多时间,在写重复的代码(或者说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 超人