Java默认方法
示例1
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
public class DefaultMethod implements InterfaceA{
public static void main(String[] args) {
new DefaultMethod().say();
}
}
输出
InterfaceA
示例2 实现类重写default方法
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
public class DefaultMethod implements InterfaceA{
public void say() {
System.out.println("DefaultMethod");
}
public static void main(String[] args) {
new DefaultMethod().say();
}
}
输出
DefaultMethod
示例3
interface InterfaceA {
default void say(double m) {
System.out.println("InterfaceA");
}
}
public class DefaultMethod implements InterfaceA{
public void say(int m) {
System.out.println("DefaultMethod");
}
public static void main(String[] args) {
DefaultMethod defaultMethod = new DefaultMethod();
defaultMethod.say(1);
defaultMethod.say(1L);
}
}
输出
DefaultMethod
InterfaceA
示例4
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
interface InterfaceAA extends InterfaceA{
void say();
}
public class DefaultMethod implements InterfaceAA{
public static void main(String[] args) {
DefaultMethod defaultMethod = new DefaultMethod();
defaultMethod.say();
}
}
输出 报错
示例5
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
interface InterfaceAA extends InterfaceA{
void say();
}
public class DefaultMethod implements InterfaceAA{
public static void main(String[] args) {
DefaultMethod defaultMethod = new DefaultMethod();
defaultMethod.say();
}
@Override
public void say() {
System.out.println("defaultMethod");
}
}
输出
defaultMethod
示例6
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
interface InterfaceB {
default void say() {
System.out.println("InterfaceB");
}
}
public class DefaultMethod implements InterfaceA,InterfaceB{
public static void main(String[] args) {
DefaultMethod defaultMethod = new DefaultMethod();
defaultMethod.say();
}
}
输出 报错
示例7
interface InterfaceA {
default void say() {
System.out.println("InterfaceA");
}
}
interface InterfaceB {
default void say() {
System.out.println("InterfaceB");
}
}
public class DefaultMethod implements InterfaceA,InterfaceB{
public static void main(String[] args) {
DefaultMethod defaultMethod = new DefaultMethod();
defaultMethod.say();
}
@Override
public void say() {
InterfaceA.super.say();
InterfaceB.super.say();
}
}
输出
InterfaceA
InterfaceB
Java默认方法的更多相关文章
- 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language- ...
- Java 8函数编程轻松入门(三)默认方法详解(default function)
default出现的原因 Java 8中对API最大的改变在于集合类,Java在持续演进,但是它一直保持着向后兼容. 在Java 8中为Collection接口增加了stream方法,这意味着所有实现 ...
- JAVA 8 默认方法-Default Methods
什么是默认方法-Default Methods 简单的说,就是可以在接口中定义一个已实现方法,且该接口的实现类不需要实现该方法: 如下示例: interface GreetingService { v ...
- [转]深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
以下内容转自: 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-l ...
- paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- Java 8 默认方法和多继承深入解析
以前经常谈论的Java对比c++的一个优势是Java中没有多继承的问题. 因为Java中子类只能继承(extends)单个父类, 尽管可以实现(implements)多个接口,但是接口中只有抽象方法, ...
- Java 8新特性探究(一) JEP126特性lambda表达式和默认方法
Lambda语法 函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是只包含一个方法的接口.比如Java标准库中的java.la ...
- Java 8 特性 —— 默认方法和静态方法
Java 8 新增了接口的默认方法.简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法.我们只需在方法名前面加个 default 关键字即可实现默认方法. 为什么要有这个特性?之前的 ...
- Java 8 默认方法
转自:https://www.runoob.com/java/java8-default-methods.html Java 8 新增了接口的默认方法. 简单说,默认方法就是接口可以有实现方法,而且不 ...
随机推荐
- C# 基础复习 三 XML操作
XML 可扩展标记语言(所有标签都是自己定义,没有固定格式) 如果要给XML规定格式,可以使用dtd (dtd是什么?你不会自己百度吗) XML主要用来存储数据 XML的要求: 根节点只能有一 ...
- 改变浏览器页面默认滚动条样式scrollbar
scrollbar-3d-light-color 设置或检索滚动条亮边框颜色scrollbar-highlight-color 设置或检索滚动条3D界面的亮边(ThreedHighlight)颜色sc ...
- python中方法与函数的区别与联系
今天huskiesir在对列表进行操作的时候,用到了sorted()函数,偶然情况下在菜鸟教程上看到了内置方法sort,同样都可以实现我对列表的排序操作,那么方法和函数有什么区别和联系呢? 如下是我个 ...
- [luogu] P3333 [ZJOI2013]丽洁体(贪心)
P3333 [ZJOI2013]丽洁体 题目描述 平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子.这种往往被称为仿写的题,不单单出现在小学生的考试中,也有时会出现在 ...
- 【codeforces 747E】Comments
[题目链接]:http://codeforces.com/problemset/problem/747/E [题意] 给你一个类似递归的结构; 让你把每一层的字符串按照层,一层层地输出出来; 并输出层 ...
- java 日期和字符串互转,依据当天整天时间 得到当天最后一秒的日期时间
java 日期和字符串互转.依据当天整天时间 得到当天最后一秒的日期时间 package com.hi; import java.text.DateFormat; import java.text ...
- 海尔公布首套智能套装SmartCare,主打智能、简单
2014CIE智能硬件首发会于11月6-8日在上海国际展览中心举行.吸引了海尔.英特尔.百度等知名企业的积极參与. 作为国内智能家居领域的先驱者,海尔在本次大会上首发了轻量智能套装SmartC ...
- urlrewrite地址重写的使用
地址重写: 主要是为了站点的安全. 比如我们平时的地址请求 地址重写前,訪问路径是: /read.egov?action=read&bid=2 地址重写后,訪问路径是:/read-read-2 ...
- yqj2065经典语录
在上课时.博客中和<编程导论(Java)>书中,yqj2065说过一些简短的话.列举一些玩玩. 假设您在我的博客中看见好玩的,最好还是推荐一下. 持续加入中... 1. "噢姐姐 ...
- centos6高速部署java应用
眼下提供IDC服务的厂商真的是五花八门,可是更正服务到位的却为数不多,搞得比較好的应该是阿里云.天成.51idc,出于时间考虑还是建议选用windows,至少安装开发环境会方便得多,不会耗费太长时间. ...