java8接口的静态方法和默认方法

1,014 阅读1分钟

java8的接口中可以有default方法及static方法。
普通的抽象方法不可以有实现,实现此接口的类必须实现所有抽象方法。
默认方法必须有实现,实现此接口的类默认继承此方法,当然你也可以覆盖默认方法。(不实现此方法会默认继承,并不会报错)。
静态方法必须有实现。但是实现此接口的类无法实现静态方法。

举一个小栗子:

	public class DefaultInterfaceTest {
	
	  private static final LoggerSimpleFromPfliu log = new LoggerSimpleFromPfliu(
	      DefaultInterfaceTest.class);
	
	
	  public static void main(String args[]) {
	    TestInterface.staticMethod();
	    DefaultInterfaceTest defaultInterfaceTest = new DefaultInterfaceTest();
	    defaultInterfaceTest.test();
	
	  }
	
	  private void test() {
	    TestClass testClass = new TestClass();
	    testClass.abstractmethod();
	    testClass.defaultMethod();
	
	
	  }
	  
	  private class TestClass implements TestInterface {
	
	   	@Override
	    public void abstractmethod() {
	      log.debug("abstract");
	    }
	
	  }
	
	  public interface TestInterface {
	    void abstractmethod();
	    default void defaultMethod() {
	      log.debug("default");
	    }
	    static void staticMethod() {
	      log.debug("static");
	    }
	  }
	}

程序执行结果是:
static
abstract
default



ChangeLog

2018-03-11 完成

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

更多学习笔记见个人博客------>呼延十