zoukankan      html  css  js  c++  java
  • 关于java8中的接口特性验证

      在java8中,已经有了接口的新定义。

      在工作中,很少看见在接口中写默认方法。主要是今天见到了有程序在写抽象类,就感觉其实这里用新的接口也是可以的。

      所以,针对接口,做一个文档梳理。

    一:基本知识说明

    1.定义

      接口可以包括数据成员,但是数据成员必须是常量,其值一旦被初始化后,是不允许修改的,这些数据成员通常为全局变量。

           为了避免在接口中添加新方法后要修改所有的实现类,接口中允许定义默认方法(default方法)。

           定义接口需要使用关键字interface

    2.java中新特性说明

      可以在接口中写default修饰的默认方法

    package com.jun.prove.service;
    
    public interface calculate {
        int result = 7;
        default int add(int a, int b){
            return a+b;
        }
    }
    

      如果调用,则使用其实现的子类对象进行调用

    3.可以写static方法

      这种情况就相当于工具类,使用类名直接调用就可以了

    二:一些可能会遇到的场景,关于多继承实现

    1.重写

      如果实现类重写了接口中的默认方法,调用时,仍然调用的是重写以后的方法

    2.类多实现接口

      如果实现类实现了多个接口,而这多个接口中定义了同名同参数的默认方法,那么在实现类没有重写此方法的情况下,报错

    3.继承与实现混合

      如果子类继承的父类和实现的接口中声明了同名同参数的方法,子类在没有重写此方法的情况下,默认调用的是父类中的同名同参数的方法。

      

    4.多接口存在同名方法

      当接口的父接口中也有同样的默认方法时,就近原则调用子接口的方法。

  • 相关阅读:
    浅谈随机化算法
    SPSS问题
    羽毛球技术
    三大线性排序之桶排序
    Java产生随机数
    Java堆栈详解
    三大线性排序之基数排序
    指针 和 数组
    复制构造函数 与 赋值函数 的区别
    【c++】类中的const成员
  • 原文地址:https://www.cnblogs.com/juncaoit/p/12357117.html
Copyright © 2011-2022 走看看