zoukankan      html  css  js  c++  java
  • JAVA_接口_默认方法&静态方法

    1.小结(注意):

      1.接口中无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰

      2.接口中,没有构造方法,不能创建对象

      3.接口中,没有静态代码块

      4.可以多继承,可以重写,二选一,但是只能通过实现类的对象来调用

      5.接口可以多实现

      6.JDK8中,接口中的方法可以被default和static修饰,但是!!!被修饰的方法必须有方法体。

      7.接口中方法的默认修饰符时public abstract,抽象方法可是没有方法体的,没有大括号{}

      8.静态与.class文件相关,只能使用接口名调用,不可以通过实现类的类名或者实现类的对象调用

      9. 一个接口能继承另外一个或者多个接口,这和类之间的继承比较相似,接口的继承使用extends关键字,子接口继承父接口的方法.如果父接口中的默认方法有重名的,那么子接口需要重写一次

    2.接口

      接口,是java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量,构造方法,成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK7以前),默认方法和静态方法(JDK8).

      接口的定义,它与定义类方式相似,但是使用interface关键字.它也会被编译成.class文件,但一定要明确它不是类,而是另外一种数据类型.

      引用数据类型:数组,类,接口。

      接口的使用,他不能创建对象,但是可以被实现(implements,类似于被继承),一个实现接口的类,(可以看做是接口的子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用方法了,否则它必须是一个抽象类

      定义格式:

    复制代码
    public interface Inter {
        //抽象方法,默认省略public abstract
        public abstract void method1();
        //默认方法
        public default void method2(){
            //方法体
        }
        //静态方法
        public static void method3(){
            //方法体
        }
    }
    复制代码

      接口可以多实现

    3.抽象方法

      抽象方法使用abstract关键字修饰,可以省略,没有方法体,该方法供子类实现使用.

    4.默认方法

      使用default修饰,不可省略,供子类调用或者子类重写

      可以继承,可以重写,二选一,但是只能通过实现类的对象来调用

      接口中,有多个默认方法时,实现类都可继承使用,如果继承方法有重名的,必须重写一次

    5.静态方法

      使用static修饰,供接口直接调用

      静态与.class文件相关,只能使用接口名调用,不可以通过实现类的类名或者实现类的对象调用

    6.实现:

      类与接口的关系为实现关系,即类实现接口,该类可以成为接口的实现类,也可以成为接口的子类,实现的动作类似继承,格式相仿,只是关键字不同,实现使用implements关键字

      非抽象子类实现接口:

    1. 必须重写接口中的所有的抽象方法,
    2. 继承了接口的默认方法,即可以直接调用,也可以重写

      接口中,存在同名的静态方法并不会冲突,原因是只能通过各自接口名访问静态方法

    7.优先级问题:

      当一个类,既继承了一个父类,又实现多个接口,父类中的成员方法与接口中的默认方法重名,子类就近选择执行父类的成员方法

    8.接口的多继承:

      一个接口能继承另外一个或者多个接口,这和类之间的继承比较相似,接口的继承使用extends关键字,子接口继承父接口的方法.如果父接口中的默认方法有重名的,那么子接口需要重写一次

    9.其他:

      1.接口中无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰

      2.接口中,没有构造方法,不能创建对象

      3.接口中,没有静态代码块

  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/morganlin/p/12033500.html
Copyright © 2011-2022 走看看