

Best Practices für Java zum Aufrufen überladener Methoden von übergeordneten und untergeordneten Klassen
PHP Editor Zimo bietet Ihnen die beste Vorgehensweise in der Java-Programmierung – das Aufrufen überladener Methoden der übergeordneten Klasse und der Unterklasse. In Java ist Vererbung ein wichtiges objektorientiertes Programmierkonzept, das es Unterklassen ermöglicht, die Eigenschaften und Methoden übergeordneter Klassen zu erben. Eine Methodenüberladung tritt auf, wenn sowohl die übergeordnete Klasse als auch die Unterklasse Methoden mit demselben Namen definieren. In diesem Fall müssen wir darauf achten, wie die überladenen Methoden der übergeordneten Klasse und der Unterklasse korrekt aufgerufen werden, um die Korrektheit und Wartbarkeit des Programms sicherzustellen. In diesem Artikel erhalten Sie eine detaillierte Einführung in die Best Practices zum Aufrufen überladener Methoden von übergeordneten Klassen und Unterklassen, um Ihnen den Einstieg in die Java-Programmierung zu erleichtern.
Frageninhalt
Was ist der beste Weg, eine Methode aufzurufen, die sowohl von übergeordneten als auch von untergeordneten Klassen überlastet ist? Zum Beispiel. Angenommen, ich habe einen Eltern-Kind-Kurs
private class parent{ public parent() { } } private class child extends parent{ string name; public child(string name) { this.name = name; } }
Ich möchte eine Methode erstellen, die beide überlastet
private void methodcall(parent parent){ system.out.println("parent class"); } private void methodcall(child child){ system.out.println(child.name); }
Ich habe eine Methode erstellt, um ein übergeordnetes oder untergeordnetes Element zu erstellen und die Methodenaufrufmethode aufzurufen
private void callMethod(String name){ Parent parent; if(name != null) { parent = new Child(name); } else { parent = new Parent(); } methodCall(parent); }
Dies scheint immer die übergeordnete Methode aufzurufen. Wie kann ich die untergeordnete Methode aufrufen, ohne das Objekt explizit in das untergeordnete Objekt umzuwandeln?
Workaround
Meiner Meinung nach sollten Sie es in der Superklasse parent
中创建一个名为 methodcall() 的方法,并分别在 child
so überschreiben:
protected void methodcall(){ system.out.println("parent class"); }
im Unterricht child
@override protected void methodcall(){ system.out.println(this.name); }
Dann rufst du so anmethodcall
private void callmethod(string name){ parent parent; if(name != null) { parent = new child(name); } else { parent = new parent(); } parent.methodcall(); }
-Methode wird durch ihren Namen und ihre Parameterliste bestimmt. Das bedeutet, dass methodcall(parent)
和 methodcall(client)
anders ist.
Was Sie wollen, ist keine Überlastung, sondern Überforderung. Sie wissen, was ich meine, wenn Sie die Annotation @override
zu einer Methode in @override
添加到 child
in Ihrem Code hinzufügen – der Compiler wird sich beschweren ...
Wenn Sie die Definition der Klasse unverändert lassen, müssen Sie in child
才能调用相应的方法 - 尽管这根本不起作用,因为 methodcall()
是非静态的(或者您有让 callmethod()
作为 child
umwandeln, um die entsprechende Methode aufzurufen – obwohl dies überhaupt nicht funktioniert, da methodcall()
nicht statisch ist (bzw Sie müssen callmethod()
als Mitglied von
Oder Sie ändern Ihren Code so:
class parent { public parent() {} public <t extends parent> void methodcall( final t arg ) { out.println( getclass().getname() ); } } class child extends parent { string name; public child( string name ) { this.name = name; } @override public <t extends parent> void methodcall( final t arg ) { out.println( name ); } }
Verwenden Sie es so:
public static void callMethod( final String name ) { Parent parent; if( name != null ) { parent = new Child( name ); } else { parent = new Parent(); } parent.methodCall(parent); }
Das obige ist der detaillierte Inhalt vonBest Practices für Java zum Aufrufen überladener Methoden von übergeordneten und untergeordneten Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

