1. 程式人生 > >Java8新特性-介面中的靜態方法

Java8新特性-介面中的靜態方法

Java8之前,介面中的方法必須使用public,abstract來修飾,在Java8中,允許使用static來修飾方法。靜態方法,只能通過介面名呼叫。

舉個栗子:

定義一個介面:

public interface IStudent {
    /**
     * 打招呼
     */
    static void sayHello() {
        System.out.println("student...");
    }
}

測試:

    @Test
    public void test1(){
        IStudent.sayHello();
    }

來看一下執行的結果:

相關推薦

Java8特性-介面靜態方法

Java8之前,介面中的方法必須使用public,abstract來修飾,在Java8中,允許使用static來修飾方法。靜態方法,只能通過介面名呼叫。 舉個栗子: 定義一個介面: public

Java8特性--Interface的default方法介面預設方法

Java8新特性–Interface中的default方法(介面預設方法) 在Java8的新特性中有一個新特性為介面預設方法,該新特性允許我們在介面中新增一個非抽象的方法實現,而這樣做的方法只需要使用關鍵字default修飾該預設實現方法即可。該特性又叫擴充套

Java8特性(三)方法引用、構造器引用、陣列引用

目錄: 1、方法引用 1.1、物件 :: 例項方法 1.2、類 :: 靜態方法 1.3、類 ::例項方法 2、構造器引用 2.1、介紹 2.2、使用 3、陣列引用 3.1、介紹 3.2、使用 1、方法引用 若lambda體中的內容有方法已經實現了,

Java8特性(二)方法引用

方法引用 方法引用其實就是Lambda表示式的簡寫,標誌是 :: 1、和Lambda表示式比較 public class Java8Test { public s

java8增加的介面預設方法

前言 最近在工作中的一次小修改讓自己應用到了java8中的新特性:介面預設方法,這裡去簡單記錄下。在java8之後可以在介面定義方法的實現,成為default方法,類似於Scala中的trait。比如在Iterable介面中新增了foreach預設方法: /**

Java8特性之二:方法引用

輸出結果 知識 public ava urn strong class rules ros   上一節介紹了Java8新特性中的Lambda表達式,本小節繼續講解Java8的新特性之二:方法引用。方法引用其實也離不開Lambda表達式。 1、方法引用的使用場景   我們

Java8特性介面靜態方法和預設方法詳解

在此之前可以先看一下這個大佬寫的文章,裡面關於Java 8介面中的靜態方法和預設方法的新特性解釋的蠻好的 在這裡補充幾點其他需要注意的,也可能是你一直疑惑的(我之前就困惑了好久)~ 介面中的靜態方法

Java8特性介面的預設方法靜態方法,你都掌握了嗎?

## 寫在前面 > 在Java8之前的版本中,介面中只能宣告常量和抽象方法,介面的實現類中必須實現介面中所有的抽象方法。而在Java8中,介面中可以宣告預設方法和靜態方法,本文,我們就一起探討下介面中的預設方法和靜態方法。 ## 介面中的預設方法 Java 8中允許介面中包含具有具體實現的方法,該

Java8特性介面的預設方法靜態方法

我們都知道應該面向介面程式設計。介面給定使用者應該使用的協議,而不用依賴該介面的具體實現細節。 因此,為了做到鬆耦合,設計出乾淨的介面成為API設計的要素之一。SOLID五大原則之一的要求我們設計有具體目的的小介面,而不是一個通用卻臃腫的介面。對你的類庫和

Java8特性(四)------介面可以定義方法

 Java8比起以前的版本存在很大的變化,我們知道在之前的版本中介面只能是定義抽象的方法,是不能定義實現的,但是在java8環境下,這個不可能已經變得可能。下面我們通過例子一步一步的來講解下java8

java8特性二:介面預設方法靜態方法

java8中允許在介面中有普通方法。方法要用default修飾比如 default String getpassword (St

Java8特性:接口的默認方法與接口的靜態方法

err 類比 urn 多態 class 數組保存 統一 body bstr 接口的定義 接口的作用是定義該類型的實例要具有的功能,也就是必須執行哪些工作,並且不需要關心這些工作是怎麽具體進行的。接口定義的方法沒有方法體,並且接口不允許定義實例變量。如果一個類實現了這個接口就

Java8特性整理之介面的預設方法

Java8新特性整理之介面的預設方法 預設方法 預設方法由default修飾符修飾,並像類中宣告的其他方法一樣包含方法體。 比如,你可以像下面這樣在集合庫中定義一個名為Sized的介面,在其中定義一個抽象方法size,以及一個預設方法isEmpty: public interface

Java8 特性之預設介面方法

  摘要: 從java8開始,介面不只是一個只能宣告方法的地方,我們還可以在宣告方法時,給方法一個預設的實現,我們稱之為預設介面方法,這樣所有實現該介面的子類都可以持有該方法的預設實現。   · 待定   一. 引入預設介面方法的背景   java8可以看做是java版本更新迭代過程中變化最大的一個

JAVA8特性-Lambda表示式、函式式介面以及方法引用

  一、Lembda表示式 關於Lambda表示式,首先我們要知道Lambda表示式是什麼?為什麼要用?在什麼情況下要用? what:Lambda 是一個匿名函式,我們可以把 Lambda 表示式理解為是一段可以傳遞的程式碼(將程式碼 像資料一樣進行傳遞)。 why:可以寫

java8的interface的方法定義 Java8特性(一)_interface的static方法和default方法

轉自https://www.cnblogs.com/zhenghengbin/p/9398682.html   Java8新特性(一)_interface中的static方法和default方法   為什麼要單獨寫個Java8新特性,一個原因是我目前所

JDK8特性 介面的變化--預設方法靜態方法

本文主要是簡單的說明下jdk8出現的一個新特性–介面的增強。此次變化中,介面中某些方法也可以有方法體了。jdk8對於介面的設計,除了保留之前的版本記本特性外,還提供了兩個新的功能。除了抽象方法外,還可以有預設方法(default方法)和靜態方法(static方法

java8特性 (λ、stream 與 預設介面方法

1.lambda λ表示式本質上是一個匿名方法,用來方便地實現函式介面。也就是說,λ表示式主要用於替換以前廣泛使用的內部匿名類。  讓我們來看下面這個例子:     public int add(int x, int y) {         return x + y;  

Java8特性-003-Java8介面的default修飾符

Java 8新增了default方法,它可以在介面新增新功能特性,而且還不影響介面的實現類。 另外,新增的default方法不會影響函式式介面。 Default方法是非常有用的,通過在介面定義的方法的

java8特性-方法引用

show acc 函數式 類名 抽象方法 bip pub 構造 -- 方法引用:若 Lambda 體中的功能,已經有方法提供了實現,可以使用方法引用 (可以將方法引用理解為 Lambda 表達式的另外一種表現形式) 1. 對象的引用 :: 實例方法名2. 類