首頁  >  文章  >  Java  >  Java 如何模仿模組化程式碼的函數指標?

Java 如何模仿模組化程式碼的函數指標?

Susan Sarandon
Susan Sarandon原創
2024-11-19 09:16:02886瀏覽

How Can Java Mimic Function Pointers for Modular Code?

Java 的函數指標替代品

Java 缺乏函數指標可能會阻礙模組化、可重複使用程式碼的建立。不過,有一個解決方案:匿名內部類別。

考慮需要多個方法執行單行計算之外的相同操作。理想情況下,傳遞函數指標就足夠了,但 Java 不支援這一點。另一種方法是定義一個接口,將所需的函數作為其唯一成員。

例如,定義一個接受字串並傳回整數的函數:

interface StringFunction {
    int func(String param);
}

現在,一個接受函數指標的方法可以接收StringFunction 實例:

public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // do other operations ...
}

呼叫此方法將如下所示:

ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation for the single changed line
    }
});

在Java 8 中,可以使用lambda 表達式進一步簡化:

ref.takingMethod(param -> {
    // Implementation for the single changed line
});

透過利用匿名內部類別或 lambda 表達式,Java 程式設計師可以實現函數指標的功能,提供靈活性和程式碼可重複使用性。

以上是Java 如何模仿模組化程式碼的函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn