suchen
HeimJavajavaLernprogrammSo erstellen Sie eine Java-Erweiterungsmethode

    Einführung

    Verwenden Sie Erweiterungsmethoden, um Methoden zu einem vorhandenen Typ „hinzufügen“, ohne einen neuen abgeleiteten Typ zu erstellen, neu zu kompilieren oder den ursprünglichen Typ auf andere Weise zu ändern. Obwohl eine Erweiterungsmethode eine Sonderform einer statischen Methode ist, kann sie wie eine Instanzmethode eines Erweiterungstyps aufgerufen werden. Bei in C# und Visual Basic geschriebenem Clientcode gibt es keinen wesentlichen Unterschied zwischen dem Aufruf einer Erweiterungsmethode und dem Aufruf der tatsächlich im Typ definierten Methode.

    Sprachen, die Erweiterungsmethoden unterstützen

    Tatsächlich unterstützen viele Programmiersprachen Erweiterungsmethoden wie C#, Visual Basic, Kotlin usw., aber unsere Java-Sprache unterstützt sie seit langem nicht mehr Für Java-Funktionen verspricht JDK16 die Bereitstellung dynamischer Bibliotheksaufruflösungen. Wenn wir jedoch als Hauptbenutzer von JDK8 auch Erweiterungsmethoden verwenden möchten, müssen wir einen anderen Weg finden.

    C#

    /// 扩展方法
    public static class ExpandMethod {
        /// 两个数相加
        public static int Sum(this int num,int num2) {
            return num + num2;
        }
    }
    public class Program {
        static void Main(string[] args) {
            /// 调用位置
            Console.WriteLine(3.Sum(2));
        }
    }

    Visual Basic

    Imports System.Runtime.CompilerServices
    Module Module3
        Sub Main()
            Dim ex As New ExampleClass
            ' 调用位置
            ex.ExampleMethod("Extension method")
        End Sub 
        Class ExampleClass
            ' Define an instance method named ExampleMethod. 
            Public Sub ExampleMethod()
                Console.WriteLine("Instance method")
            End Sub 
        End Class
        <Extension()> 
        Sub ExampleMethod(ByVal ec As ExampleClass, 
                ByVal stringParameter As String)
            Console.WriteLine(stringParameter)
        End Sub 
    End Module

    Kotlin

    // 扩展函数(本类中扩展方法)
    class Test1 {
        var name: String = "boyi.chen"
    }
    fun Test1.temp() {
        println("增加扩展函数,打印扩展类的属性name=${this.name}")
    }
    fun main(args: Array<String>) {
        // 调用位置
        Test1().temp()
    }

    Der Protagonist unterstützt keine Erweiterungsmethoden, aber wir können Erweiterungsmethoden über Plug-Ins implementieren ist eines der Plug-Ins.

    Lombok @ExtensionMethod

    Durch die Annotation Lombok @ExtensionMethod können wir statische Methoden generieren, die während der Programmkompilierung direkt aufgerufen werden. Schauen wir uns unten konkrete Beispiele an.

    /**
     * lombok测试
     *
     * @author reboot
     */
    @ExtensionMethod(StringUtil.class)
    public class LombokTest {
        public static void main(String[] args) {
            System.out.println("".isBlank());
        }
        /**
         * 字符串工具
         *
         * @author reboot
         */
        public static class StringUtil {
            /**
             * 字符串判空
             *
             * @param targetStr 目标str
             * @return boolean
             */
            public static boolean isBlank(String targetStr) {
                return targetStr == null || "".equals(targetStr);
            }
        }
    }

    Sie können dem kompilierten Inhalt entnehmen, dass die Methode von „.isBlank()“ in „LombokTest.StringUtil.isBlank(““) konvertiert wurde. Auf diese Weise stellt Lombok uns den Syntaxzucker der Erweiterung zur Verfügung Methode. Wirklich so süß.

    Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Java-Erweiterungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme
    Dieser Artikel ist reproduziert unter:亿速云. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
    Will R.E.P.O. Crossplay haben?
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    WebStorm-Mac-Version

    WebStorm-Mac-Version

    Nützliche JavaScript-Entwicklungstools

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    Herunterladen der Mac-Version des Atom-Editors

    Herunterladen der Mac-Version des Atom-Editors

    Der beliebteste Open-Source-Editor

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

    Sicherer Prüfungsbrowser

    Sicherer Prüfungsbrowser

    Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.