首页 > 编程语言 >学习笔记-Java8新特性-第六节-接口中的默认方法与静态方法

学习笔记-Java8新特性-第六节-接口中的默认方法与静态方法

时间:2023-05-21 23:22:58浏览次数:48  
标签:静态方法 子类 默认 public 接口 第六节 方法 Java8

接口中的默认方法与静态方法

默认方法

  • 在接口中可以使用default修饰方法,为方法提供默认实现

    • public interface MyInterface {
      
          default void getName() {
              System.out.println("DEFAULT");
          }
      
      }
      
  • 一般情况下,继承了接口的子类,可以不提供接口的实现

  • 类优先原则

    • 如果子类继承的父类中,提供了与接口中的默认方法具有相同名称和参数的方法

    • 那么接口中的默认方法会被忽略

  • 接口冲突

    • 如果两个父接口,提供了具有相同名称和参数列表的方法

    • 不管是不是默认方法

    • 子类都需要覆盖该方法来解决冲突

静态方法

  • 在接口中可以写静态方法

    • public interface MyInterface {
      
          public static void show() {
              System.out.println("STATIC");
          }
      
      }
      

标签:静态方法,子类,默认,public,接口,第六节,方法,Java8
From: https://www.cnblogs.com/Andl-Liu/p/17419457.html

相关文章

  • 学习笔记-Java8新特性-第七节-新时间与日期API
    新时间与日期API本地时间类LocalDateLocalTImeLocalDateTime简介人读的时间提供以ISO-8601为标准的日期和时间提供简单的日期或时间并不包含当前的时间信息也不包含与时区相关的信息示例publicvoidtest1(){LocalDateTimelocalD......
  • 学习笔记-Java8新特性-第三节-方法引用与构造器引用
    方法引用与构造器引用什么是方法引用对方法的引用若Lambda体中的内容,已经有方法实现了,我们可以使用该方法的方法引用作为替代已经有方法实现了是指,该方法的参数列表和返回值类型和lambda的一致可以将方法引用理解成Lambda表达式的另外一种表现形式语法格式对象......
  • 学习笔记-Java8新特性-第二节-Lambda表达式
    Lambda表达式Lambda表达式是什么Lambda是一个匿名函数是一段可以传递的代码是一种语法糖使用Lambda可以写出更简洁、更灵活的代码如果要使用Lambda表达式,需要函数式接口的支持Lambda的语法格式基础语法Java8中引入了一个新的操作符->称为箭头操作符或La......
  • java8
    1.编写一个方法,实现冒泡排序(由小到大),并调用该方法packagetest;publicclassccc1{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubintx[]={1,3,5,6,7,2};paixu(x);for(inti=0;i<x.length;i++){System.out.println(x[i]);}}publicstaticvoi......
  • java8新特性,stream流简单使用
    //新建测试类@Data@NoArgsConstructor@AllArgsConstructor@EqualsAndHashCodepublicclassAuthor{//idprivateLongid;//姓名privateStringname;//年龄privateIntegerage;//简介privateStringintro;//作品privateList<Book>......
  • Java8 Stream --groupingBy 分组讲解
    本文主要讲解:Java8Stream之Collectors.groupingBy()分组示例Collectors.groupingBy()分组之常见用法功能代码:/***使用java8streamgroupingBy操作,按城市分组list*/publicvoidgroupingByCity(){Map<String,List<Employee>>map=employe......
  • 27、在 Java 中,为什么不允许从静态方法中访问非静态变量?
    静态变量属于类本身,在类加载的时候就会分配内存,可以通过类名直接访问;非静态变量属于类的对象,只有在类的对象产生时,才会分配内存,通过类的实例去访问;静态方法也属于类本身,但是此时没有类的实例,内存中没有非静态变量,所以无法调用。......
  • java8 lamda表达式
    list分组1.多字段联合,分组list.stream().collect(Collectors.groupingBy(o->o.getSkuName()+"_"+o.getOeCode(),Collectors.toList()));2.求和计算 Integernum=list.stream().mapToInt(n->n.getNum()).sum();3.分组-排序list.stream().coll......
  • Java8中的sort与Comparator、Comparable
    基本含义在Java8中,sort()方法、Comparator接口和Comparable接口是用于对数组或集合进行排序的重要工具,其中Comparator接口适用于自定义比较规则,而Comparable接口适用于定义对象自身的比较规则。假如我们有一个实体类点击查看代码publicclassCoinUserIncome{pr......
  • Java8相对于Java7新增了什么新特性
    Java8和Java7是两个不同的Java版本,Java8相对于Java7引入了相当多的新特性,以下是Java8相对于Java7新增的重要特性:Lambda表达式:Lambda表达式是Java8最重要的特性之一,它提供了一种简洁的编写匿名函数的方式,有助于编写更加易读和简单的代码。函数式接口和......