Heim Java javaLernprogramm Warum ist die „clone()'-Methode von Java geschützt und nicht Teil der „Cloneable'-Schnittstelle?

Warum ist die „clone()'-Methode von Java geschützt und nicht Teil der „Cloneable'-Schnittstelle?

Nov 25, 2024 am 11:02 AM

Why is Java’s `clone()` Method Protected and Not Part of the `Cloneable` Interface?

Geschützte Clone()-Methode in Java: Eine rätselhafte Entscheidung

Java's clone() ist eine besondere Methode, die in java.lang geschützt ist. Objekt. Warum diese verwirrende Entscheidung?

Klonbare Schnittstelle kann nicht genutzt werden

Im Gegensatz zu anderen Frameworks, in denen kopierbare Klassen eine klonbare Schnittstelle implementieren, wird Javas clone() in Cloneable nicht deklariert. Eine Prüfung der Klonbarkeit über die Schnittstelle ist daher nicht möglich. Code wie „if(a instanceof Cloneable)“ kann nicht ermitteln, ob „a“ das Klonen unterstützt.

Reflexionsabhängigkeit

Um diese Einschränkung zu umgehen, kann Reflexion eingesetzt werden. Dieser Ansatz führt jedoch zu unnötiger Komplexität und erfordert Kenntnisse über konkrete Klassenimplementierungen. Es basiert auch auf einem strengen Protokoll, das oft nicht dokumentiert und nicht durchsetzbar ist.

Bedauerliches Design

Josh Bloch, Autor von Effective Java, bezeichnet das Design von Cloneable als „einen Fehler“. Es macht keine wirksame Werbung für die Unterstützung des Klonens und erzwingt ein umständliches Protokoll. Stattdessen schlägt er vor, Cloneable auf Klassenebene zu implementieren und so die Einhaltung des Protokolls sicherzustellen.

Das obige ist der detaillierte Inhalt vonWarum ist die „clone()'-Methode von Java geschützt und nicht Teil der „Cloneable'-Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

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 vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)