java 接口default_接口default方法作用

java 接口default_接口default方法作用在java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口种被default标记的方法为普通方法,可以直接写方法体。实现类会继承接口中的default方法如果接口A中有default方法:publicinterfaceA{ publicdefaultvoida(){ System…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口中被default标记的方法为普通方法,可以直接写方法体。

 

  1. 实现类会继承接口中的default方法

如果接口A中有default方法:

public interface A {
	public default void a(){
		System.out.println("这是A");
	}
}

Test类实现接口A:

public class Test implements A{
	
}

那么Test类将会继承接口A中的a方法:

public class Test2 {
	public static void main(String[] args) {
		Test t = new Test();
		t.a();
	}
}

2.如果一个类同时实现接口A和B,接口A和B中有相同的default方法,这时,该类必须重写接口中的default方法

 

为什么要重写呢?是因为,类在继承接口中的default方法时,不知道应该继承哪一个接口中的default方法。

接口A:

public interface A {
	public default void a(){
		System.out.println("这是A");
	}
}

接口B:

public interface B {
	public default void a(){
		System.out.println("这是B");
	}
}

Test类:

java 接口default_接口default方法作用

 

 

 

3.如果子类继承父类,父类中有b方法,该子类同时实现的接口中也有b方法(被default修饰),那么子类会继承父类的b方法而不是继承接口中的b方法

接口A:

public interface A {
	public default void b(){
		System.out.println("AAA");
	}
}

类C:

public class C {
	public void b(){
		System.out.println("CCC");
	}
}

子类:

public class Test extends C implements A{
	
}

测试类:

java 接口default_接口default方法作用

说明子类继承的b方法为父类C中的b方法,不是接口中的default b(){}方法。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179175.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 简单图文解释冯诺依曼体系结构(通俗易懂版)

    简单图文解释冯诺依曼体系结构(通俗易懂版)冯诺依曼式计算机主要由输入设备,输出设备,控制器,运算器,存储器该五个组成部分构成。我们可以将该体系结构的运作通过人类接收信息,处理信息,并输出信息这个过程来加以类比理解。人类:当眼睛看到某些信息,这些信息被存储到记忆装置,大脑从记忆装置取出信息,并加以思考运算,再放回记忆装置,大脑控制记忆装置将信息传输给嘴巴,将信息表达出来。(这个过程大脑的指令占领导地位)冯诺依曼计算机:当输入设备接收到数据,数据将被存储到存储器,控制器发出取数据和运算的指令,数据被取出方去放入运算器中加以运算,运算结束后,控制器

    2025年6月11日
    0
  • QSplitter(分离部件)

    QSplitter(分离部件)QSplitterTheQSplitterclassimplementsasplitterwidget.Asplitterletstheusercontrolthesizeofchildwidgetsbydraggingtheboundarybetweenthem.Anynumberofwidgetsmaybecontrolled…

    2022年4月19日
    55
  • nrzi是什么编码_epc编码

    nrzi是什么编码_epc编码NRZ与NRZI编码解释RZ编码(Return-to-zeroCode),即归零编码。在 RZ 编码中,正电平代表逻辑 1,负电平代表逻辑 0,并且,每传输完一位数据,信号返回到零电平,也就是说,信号线上会出现 3 种电平:正电平、负电平、零电平:从图上就可以看出来,因为每位传输之后都要归零,所以接受者只要在信号归零后采样即可,这样就不在需要单独的时钟信号。实际上, RZ 编码就是相当于把时钟

    2025年6月20日
    0
  • oracle如何查看视图语句_oracle视图使用

    oracle如何查看视图语句_oracle视图使用手机评站网今天精心准备的是《oracle视图》,下面是详解!怎么在oracle中查询出所有的视图view?1、通过pl/sql,登录oracle数据库,2、敲入sql,可以查询本库的所有视图view,select*fromall_viewst,结果中owner代表不同的用户;3、如果查看本用户的所有视图view,执行sql,select*fromuser_viewst,可以看到本用…

    2022年10月21日
    0
  • 使用 create-react-app 构建 react应用程序「建议收藏」

    使用 create-react-app 构建 react应用程序

    2022年3月3日
    36
  • Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)「建议收藏」

    Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)「建议收藏」文章目录一、项目背景二、数据处理1、标签与特征分离2、数据可视化3、训练集和测试集三、模型搭建四、模型训练特征五、完整代码一、项目背景数据集cnn_train.csv包含人类面部表情的图片的label和feature。在这里,面部表情识别相当于一个分类问题,共有7个类别。其中label包括7种类型表情:一共有28709个label,说明包含了28709张表情包嘿嘿。每一行就是一张表情包4848=2304个像素,相当于4848个灰度值(intensity)(0为黑,255为白)二、数据处理

    2022年5月16日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号