前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java8 接口的静态方法和默认方法

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

作者头像
呼延十
发布2019-07-01 16:18:38
1.1K0
发布2019-07-01 16:18:38
举报
文章被收录于专栏:呼延呼延

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

举一个小栗子:

代码语言:javascript
复制
	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

var gitment = new Gitment({ id: 'Java8 接口的静态方法和默认方法', // 可选。默认为 location.href owner: 'hublanker', repo: 'blog', oauth: { client_id: '2297651c181f632a31db', client_secret: 'a62f60d8da404586acc965a2ba6a6da9f053703b', }, }) gitment.render('container')


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档