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

Java8新特性-----接口中的默认方法和静态方法

作者头像
大忽悠爱学习
发布2021-11-15 15:11:46
7020
发布2021-11-15 15:11:46
举报
文章被收录于专栏:c++与qt学习c++与qt学习

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


接口中的默认方法

代码语言:javascript
复制
在JDK 8之前,一个接口不能包含任何实现。接口只包含常量和方法签名。
从JDK 8开始,可以定义接口中方法的默认实现。这些方法称为默认方法。

使用关键字"default"声明一个默认方法,它包含一个方法体。
所有实现类接口的默认方法都可用。如果实现类想要使用它,它可以使用它,或者它可以忽略默认实现并创建自己的实现。
即使接口现在可以定义默认方法,如果要创建实例,接口仍然必须由类实现。

请注意,实现类只需要实现抽象方法。默认方法可以按原样使用,除非实现类要更改行为。

接口的中的默认方法:

代码语言:javascript
复制
public interface MyIntertrce 
{
    default  void show()
    {
        System.out.println("接口");
    }
}

一个类中实现了与接口中完全相同的默认方法:

代码语言:javascript
复制
public class MyClass
{
    public void show()
    {
        System.out.println("类");
    }
}

mytest继承了接口和类:

代码语言:javascript
复制
public class mytest extends MyClass  implements MyIntertrce{
}

测试:

代码语言:javascript
复制
public class TestMain
{
    @Test
    void test()
    {
       mytest m=new mytest();
       m.show();
    }
}
在这里插入图片描述
在这里插入图片描述

类优先原则

在这里插入图片描述
在这里插入图片描述

接口中的静态方法

代码语言:javascript
复制
public interface MyIntertrce
{
       static void dhy()
       {
           System.out.println("静态方法调用");
       }
}

测试:

代码语言:javascript
复制
public class TestMain
{
    @Test
    void test()
    {
       MyIntertrce.dhy();
    }
}
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接口中的默认方法和静态方法
  • 接口中的默认方法
  • 类优先原则
  • 接口中的静态方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档