Java interface 接口 新特性
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 接口 新特性的更多相关文章
- [转] Java 8的新特性
简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...
- Java 8的新特性—终极版
作者:杜琪[译] 原文链接:http://www.jianshu.com/p/5b800057f2d8 1. 简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本 ...
- Java 9和Java 10的新特性
http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...
- 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 ...
- JDK 15 JAVA 15的新特性展望
目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: T ...
- Java 接口 新特性(Java8)
Java8新特性之接口增强 在Java7以及以前的版本中,接口里的方法都是抽象的,并且不存在静态方法,属性默认修饰符是public static final.所有方法的声明都是public [返回类型 ...
- Java JDK1.8新特性之四大函数式接口
JDK 1.8的一些新特性 四大核心函数式接口(Consumer.Predicate.Supplier.Function),结合lambda表达式 import java.util.ArrayList ...
- Java 新特性(5) - Java EE 5 新特性
Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...
- Java JDK5.0新特性
JDK5.0新特性 虽然JDK已经到了1.8 但是1.5(5.0)的变化是最大的 1. 增强for循环 foreach语句 foreach简化了迭代器 作用: 对存储对象的容器进行迭代 (数组, co ...
- Java8接口新特性
概述 Java 8中,你可以为接口添加静态方法和默认方法.从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念.猜想设计初衷可能使为了兼容8以下的jdk Java8出来了个函数 ...
随机推荐
- Docker系列教程01--简介
Docker 入门教程 作者: 阮一峰 日期: 2018年2月 9日 2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么, ...
- HEVC扩展备用安装方法
这个玩意微软商店免费但是下架了,购买需要RMB 安装 转到 https://store.rg-adguard.net/ 在左侧的下拉菜单选择"ProductId" 把链接中&quo ...
- MySQL【三】---数据库查询详细教程{分页、连接查询、自关联、子查询、数据库设计规范}
1.分页 limit start count limit限制查询出来的数据个数,limit在语句最后 查找两个女性 select * from student where gender=1 limit ...
- C/C++ 实现获取硬盘序列号
获取硬盘的序列号.型号和固件版本号,此类功能通常用于做硬盘绑定或硬件验证操作,通过使用Windows API的DeviceIoControl函数与物理硬盘驱动程序进行通信,发送ATA命令来获取硬盘的信 ...
- 从嘉手札<2024-1-29>
补一下以前的几篇日记 2018-4-6 当一个人不在纠结没有什么 而是开始珍视他所拥有的一切的时候 才算得上真正的成熟 个人的意志 不能因受到社会的压力而软弱 也不能受到自然的压力而萎缩 而应当如冬日 ...
- 从嘉手札<2023-10-16>
一.商君书 1)更法 商鞅和甘龙.杜挚同秦孝公商量变法. 后两者认为变法会动移已有的社会结构,"圣人不易民而教,知者不变法而治""法古无过,循礼无邪" 但商鞅( ...
- Web 3.0 - 圈里的百科
Web3.0只是由业内人员制造出来的概念词语,最常见的解释是,网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时对多家网站的信息进行整合使用:用户在互联网上拥有自己的数据,并能在 ...
- ECMAScript 2023 新特性预览
ECMAScript 2023 的最终版本预计将于今年 6 月底发布.会议基本已经确定 了 ECMAScript 2023 的新功能列表,预计不会再有任何重大的编辑更改. 着该提案已被 ECMAScr ...
- Java开发学习(三十八)----SpringBoot整合junit
先来回顾下 Spring 整合 junit @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Spring ...
- typescript json 转 bean
3个文件: 1.UserInfoGetResponse.ts class UserInfoGetResponse{ private userId: number; private userName: ...