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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 地表最强app官网ios_地表最强app下载

    地表最强app官网ios_地表最强app下载1.全历史当你村里的二大爷,国外回来的Uncle刘想要和你交流交流历史时,没关系,查看这个App。从生命起源到现代文明,从东亚到北美洲,从政权到经济,从军事到民生,保证让你上知天文,下知地理,聊得你二大爷也很蒙圈。2.Canva朋友相聚怎么少的了拍照发朋友圈!Canva提供朋友圈拍照模板以及各种特效,可爱的,青春的,春节气氛的,统统都有。万一结个婚呢,还可以在上面做贺卡。3.美丽修行…

    2022年8月22日
    13
  • IOS-导航路线_iphone导航

    IOS-导航路线_iphone导航1.可以将需要导航的位置丢给系统自带的APP进行导航2.发送网络请求到公司服务器获取导航数据,然后自己手动绘制导航3.利用三方SDK实现导航(百度)>当点击开始导航时获取用户输入的起点和

    2022年8月4日
    8
  • Android之include避免代码重复

    在做布局时,经常有些部分是重复的,比如title或者foot的地方,最简单的办法当然是直接复制过去,这里介绍include的用法,有过c++或者c经验的同学一看就明白了,就是把另一个布局包含进来.先看下实现的效果:里面上下各有两个文字布局,是用include包含进去的,直接看代码activity_main.xml:

    2022年3月11日
    42
  • Win知识 – 程序是怎样跑起来的(合集)

    Win知识 – 程序是怎样跑起来的(合集)操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(systemcall),也就是应用对操作系统(system)的功能进行调用(call)的意思。在前面的程序中用到了time()及printf()等函数,这些函数内部也都使用了系统调用。这里之所以用“内部”这个词,是因为在Windows操作系统中,提供返回当前日期和时刻,以及在显示器中显示字…

    2022年6月28日
    31
  • css改变鼠标样式

    css改变鼠标样式CSS控制鼠标通过cursor属性来实现,该属性可以在任何标记中使用,因此,可以改变各种页面元素的鼠标效果。//设置为小手cursor:pointer//设置为左右箭头cursor:w-resize或cursor:e-resize//设置为斜箭头cursor:nw-resize或cursor:ne-resize//设置为全方位箭头cursor:move此外,cursor还有很多鼠标指针效果,如下图:浏览器调用的是操作系统的鼠标效果,但是,不同的操作系统之间还是存在

    2022年5月31日
    75
  • javaWeb前后台交互(Jdbc+Jsp+Servlet+mysql)

    javaWeb前后台交互(Jdbc+Jsp+Servlet+mysql)最近翻看以前的笔记,想到以前自己学习完servlet+jsp+mysql却怎么也把前后台连接不上,最后自己折腾好几天,终于搭建成功,写这个笔记也算是记录一下,代码是那个时候的代码,现在稍微加工了下。可以照下面步骤先把前后台连接上,有点成就感,给自己打打气加油加油,然后再研究代码怎么写的。毕竟都是从那个时候爬(自学坑太多)过来的。(这段话只是针对你我等小白,大神请自动忽略,谢谢配合)这次就写最简…

    2022年6月13日
    18

发表回复

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

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