Java 1.8 的新特性

java8:java8新特性java

  • lamda表達式(重磅)segmentfault

  • 集合的stream操做app

  • 提高HashMaps的性能ide

  • Date-Time Package性能

  • java.lang and java.util Packagesui

  • Concurrencythis

  • 關鍵字 default 修飾符code

    • 通常來講default關鍵字是在switch-case中才使用的。在使用jdk8看List源碼的時候,發現了default這個關鍵字做爲修飾符。看如下List中的代碼:blog

    • default void replaceAll(UnaryOperator<E> operator) {
          Objects.requireNonNull(operator);
          final ListIterator<E> li = this.listIterator();
          while (li.hasNext()) {
              li.set(operator.apply(li.next()));
          }
      }
    • 後來查詢資料發現default關鍵字做爲修飾符是java8 的新特性,是在接口中使用。使用default關鍵字可使接口中的方法有方法體,在接口實現的時候能夠實現此方法,也可不用實現。能夠參照下面例子:接口

    • /**
       * 接口中定義兩個default方法
       */
      public interface TestInterface {
      
          default void init(){
              System.out.println("interface init");
          }
      
          default void destroy(){
              System.out.println("destroy");
          }
      
      }
    • /**
       * 建立TestClass類實現TestInterface接口
       */
      public class TestClass implements TestInterface {
      
          // 只實現接口中一個init()方法
          @Override
          public void init(){
              System.out.println("testClass init");
          }
      
          public static void main(String[] args){
              TestClass testClass = new TestClass();
              testClass.init();
              testClass.destroy();
          }
      
      }
相關文章
相關標籤/搜索