1 package com.bytezreo.interfacetest;
2
3 public class SubClass2 {
4 public static void main(String[] args) {
5 SubClass s = new SubClass();
6 //s.method1();
7 //SubClass.method1();
8
9 //接口中定义的静态方法,只能通过接口来调用。
10
11 InterfaceTest2.method1();
12
13 //通过实现类的对象,可以调用接口中的默认方法
14 //如果实现类重写了接口中的默认方法,调用时,仍然调用的是重写以后的方法。
15 s.method2();
16
17 //如果 子类(或实现类)继承的父类和实现的接口中声明了同名同参数的方法,
18 //那么子类在没有重写此方法的情况下,默认调用的是父类中同名同参的方法
19 // ------->类优先原则
20
21 //如果实现类 实现了多个接口,而这个多个接口定义了同名同参数的方法,
22 //那么在实现类没有重写此方法的情况下,报错----->接口冲突
23
24 //必须在实现类中重写此方法
25 s.method3();
26
27 //SubClass.method2();
28
29
30
31 }
32
33 }
34 class SubClass extends SuperClass implements InterfaceTest2,CompareB{
35
36 public void method2() {
37
38 System.out.println("SubClass:上海");
39 }
40
41 @Override
42 public void method3() {
43
44 System.out.println("SubClass:深圳");
45 }
46 //如何在子类(实现类)的方法中调用父类,接口被重写的方法
47 public void myMethod() {
48
49 method3(); //自己定义的重写方法
50 super.method3(); // 调用父类中声明的方法
51
52 //调用接口中的默认方法
53 InterfaceTest2.super.method3();
54 CompareB.super.method3();
55
56
57 }
58
59
60
61 }
 1 package com.bytezreo.interfacetest;
2
3 /**
4 *
5 * @Description interface 接口 新特性
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 下午11:06:32
9 * @
10 * 还可以定义 静态方法 默认方法
11 */
12 public interface InterfaceTest2 {
13
14 //静态方法
15 public static void method1() {
16
17 System.out.println("CompareA:北京");
18 }
19
20 //默认方法
21 public default void method2() {
22
23 System.out.println("CompareA:上海");
24 }
25
26 default void method3() {
27
28 System.out.println("CompareA:上海");
29 }
30
31
32 }
 1 package com.bytezreo.interfacetest;
2
3 public class SuperClass {
4
5 public void method3(){
6
7 System.out.println("SuperClass:北京");
8 }
9
10 }
 1 package com.bytezreo.interfacetest;
2
3 public interface CompareB {
4
5 default void method3(){
6
7 System.out.println("CompareB:上海");
8 }
9
10 }

Java interface 接口 新特性的更多相关文章

  1. [转] Java 8的新特性

    简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...

  2. Java 8的新特性—终极版

    作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...

  3. Java 9和Java 10的新特性

    http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...

  4. Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

    Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...

  5. JDK 15 JAVA 15的新特性展望

    目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: T ...

  6. Java 接口 新特性(Java8)

    Java8新特性之接口增强 在Java7以及以前的版本中,接口里的方法都是抽象的,并且不存在静态方法,属性默认修饰符是public static final.所有方法的声明都是public [返回类型 ...

  7. Java JDK1.8新特性之四大函数式接口

    JDK 1.8的一些新特性 四大核心函数式接口(Consumer.Predicate.Supplier.Function),结合lambda表达式 import java.util.ArrayList ...

  8. Java 新特性(5) - Java EE 5 新特性

    Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...

  9. Java JDK5.0新特性

    JDK5.0新特性 虽然JDK已经到了1.8 但是1.5(5.0)的变化是最大的 1. 增强for循环 foreach语句 foreach简化了迭代器 作用: 对存储对象的容器进行迭代 (数组, co ...

  10. Java8接口新特性

    概述 Java 8中,你可以为接口添加静态方法和默认方法.从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念.猜想设计初衷可能使为了兼容8以下的jdk Java8出来了个函数 ...

随机推荐

  1. true=='true'这个等式成立吗?

    在localStorage存入里面的数据是字符串,如果你存入了一个值是Boolean类型的, 那你你取出来就是一个字符串 'true' 或者 'false' 假设取出来的值是 'true' 在你进行i ...

  2. uni-app快速导入自己需要的插件

    在uni-app中快速导入自己需要的插件 在uni-app的官网上;找到自己需要的插件: 然后点击右侧顶部的[使用HX导入]这一步的前提是你必须要用自己的账好登录: 然后选择你要导入哪一个项目 然后就 ...

  3. CTF&爬虫:掌握这些特征,一秒识别密文加密方式

    关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 前言 爬虫工程师在做加密参数逆向的时候,经常会遇到各种各样的加密算法.编码.混淆,每个算法都有其对应的特征,对于一些较小的网站, ...

  4. easyui 使用不同的url以获取不同数据源信息

    转载 https://www.bbsmax.com/A/kjdw1x06JN/ https://blog.csdn.net/lixinhui199/article/details/50724081 参 ...

  5. 设计模式学习-使用go实现组合模式

    组合模式 定义 适用范围 优点 缺点 代码实现 参考 组合模式 定义 组合模式(Composite),将对象组合成树形结构以表示'部分-整体'的层次关系.组合模式使得用户对单个对象和组合对象的使用具有 ...

  6. Prompt learning 教学[最终篇]:Chatgpt使用场景推荐、优秀学习资料推荐、AI工具推荐

    Prompt learning 教学[最终篇]:Chatgpt使用场景推荐.优秀学习资料推荐.AI工具推荐 1.chatgpt使用场景推荐 各位应该在各种平台看到不少可以尝试使用的场景,我这里仅收录: ...

  7. 5.2 Windows驱动开发:内核取KERNEL模块基址

    模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程 ...

  8. 4.3 Windows驱动开发:监控进程与线程对象操作

    在内核中,可以使用ObRegisterCallbacks这个内核回调函数来实现监控进程和线程对象操作.通过注册一个OB_CALLBACK_REGISTRATION回调结构体,可以指定所需的回调函数和回 ...

  9. 创建Vue项目,报错spawn yarn ENOENT

    1. 使用 vue 创建项目的时候,报错 Error: spawn yarn ENOENT 1.1 用户自己设置了默认的包管理 yarn 1.2 没有安装 yarn 解决方式1: 打开 C盘 , 在 ...

  10. Spring一套全通5—SSM整合

    百知教育 - Spring系列课程 - MVC框架整合 第一章.MVC框架整合思想 1. 搭建Web运行环境 <dependency> <groupId>javax.servl ...