国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Java8新特性之interface中的static方法和default方法

詳解Java8新特性之interface中的static方法和default方法

2021-05-21 11:16陽光溫暖 Java教程

這篇文章主要介紹了Java8新特性之interface中的static方法和default方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

為什么要單獨寫個java8新特性,一個原因是我目前所在的公司用的是jdk8,并且框架中用了大量的java8的新特性,如上篇文章寫到的stream方法進行過濾map集合。stream方法就是接口collection中的default方法。所以準備專門寫寫關于java8新特性的文章,雖然現在10已經發布了。但還是要認真的去了解下新版本的變化。

static方法

java8中為接口新增了一項功能:定義一個或者更多個靜態方法。用法和普通的static方法一樣。

代碼示例

?
1
2
3
4
5
6
7
8
public interface interfacea {
  /**
   * 靜態方法
   */
  static void showstatic() {
    system.out.println("interfacea++showstatic");
  }
}

測試

?
1
2
3
4
5
public class test {
  public static void main(string[] args) {
    interfacea.show();
  }
}

結果

interfacea++showstatic

注意,實現接口的類或者子接口不會繼承接口中的靜態方法

default方法

在接口中,增加default方法, 是為了既有的成千上萬的java類庫的類增加新的功能, 且不必對這些類重新進行設計。 比如, 只需在collection接口中

增加default stream stream(), 相應的set和list接口以及它們的子類都包含此的方法, 不必為每個子類都重新copy這個方法。

代碼示例

實現單一接口,僅實現接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public interface interfacea {
  /**
   * 靜態方法
   */
  static void showstatic() {
    system.out.println("interfacea++showstatic");
  }
  /**
   * 默認方法
   */
  default void showdefault() {
    system.out.println("interfacea ++showdefault");
  }
}
/**先只實現這個接口
 * @author: curry
 * @date: 2018/7/31
 */
public class interfaceaimpl implements interfacea{
}

測試

?
1
2
3
4
5
6
public class test {
  public static void main(string[] args) {
    interfacea.showstatic();
    new interfaceaimpl().showdefault();
  }
}

結果

interfacea++showstatic
interfacea ++showdefault

如果接口中的默認方法不能滿足某個實現類需要,那么實現類可以覆蓋默認方法。

實現單一接口,重寫接口中的default方法

?
1
2
3
4
5
6
7
8
9
public class interfaceaimpl implements interfacea{
  /**
   * 跟接口default方法一致,但不能再加default修飾符
   */
  @override
  public void showdefault(){
    system.out.println("interfaceaimpl++ defaultshow");
  }
}

測試

?
1
2
3
4
5
6
public class test {
  public static void main(string[] args) {
    interfacea.showstatic();
    new interfaceaimpl().showdefault();
  }
}

結果

interfacea++showstatic
interfaceaimpl++ defaultshow

實現多個接口,且接口中擁有相同的default方法和static方法

新創建個接口interfaceb

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
 * @author: curry
 * @date: 2018/7/31
 */
public interface interfaceb {
  /**
   * 靜態方法
   */
  static void showstatic() {
    system.out.println("interfaceb++showstatic");
  }
  /**
   * 默認方法
   */
  default void showdefault() {
    system.out.println("interfaceb ++showdefault");
  }
}

修改實現類

?
1
2
3
4
5
public class interfaceaimpl implements interfacea,interfaceb{
  @override
  public void showdefault() {
    system.out.println("interfaceaimpl ++ showdefault");
  }

測試結果

interfacea++showstatic
interfaceaimpl ++ showdefault

總結

看了接口中新增的這個新特性,感覺還是不錯的,內容也比較簡單。需要注意一點就是如果實現多個接口時,每個接口都有相同的default方法需要重寫該方法。

以上所述是小編給大家介紹的java8新特性之interface中的static方法和default方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/zhenghengbin/p/9398682.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩福利视频 | 亚洲欧洲精品成人久久奇米网 | 在线欧美亚洲 | 亚洲a网 | 成人免费视频网站在线观看 | 亚洲免费网站 | 日韩在线观看成人 | 一区二区三区在线看 | 午夜免费福利视频 | 99热首页| 欧美一级二级视频 | 噜噜噜噜狠狠狠7777视频 | 青青草精品 | 日韩精品久久久久久 | 成人国产在线视频 | 亚洲精品电影在线观看 | 国产精品高潮呻吟久久 | 久久美女视频 | 91黄色片视频| 国产一卡二卡三卡 | 久久久香蕉 | 麻豆精品国产91久久久久久 | 日本一区二区高清不卡 | 综合在线视频 | 中文字幕在线精品 | 国产精品1区2区 | 日本精品视频 | 黄色av免费网站 | 国产片性视频免费播放 | 久久99精品久久久久久水蜜桃 | 久久人成 | 桃色五月 | 国产精品成人一区二区三区 | 欧美精品日韩精品 | 中文字幕在线三区 | 日本不卡高字幕在线2019 | 成人羞羞视频在线看网址 | 日日夜夜国产 | 日韩欧美中文 | 日本一区二区三区四区 | 久久网站热最新地址 |