• 关于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.多接口存在同名方法

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

  • 相关阅读:
    Access, SQL Server, and Oracle数据类型的对应关系
    [转]SQL Server 2005 从差异备份还原数据库
    疲惫
    关于在cmd命令里的路径包含空格的问题
    导Excel时的科学计数法问题
    [转]SQL SERVER 2005 备份与恢复简介
    [转]用C#创建Windows Service
    [转] vb.net option
    [转]sql server profiler only TrueType fonts are supported. this is not a truetype font
    进程、线程、协程之概念理解[转帖]
  • 原文地址:https://www.cnblogs.com/juncaoit/p/12357117.html
Copyright © 2020-2023  润新知