Video: Hur man löser en 2x2 - Enklaste metoden 2024
Om en underklass förklarar en metod som har samma signatur som en allmän metod för basklassen i Java, övergår klassklassversionen av metoden basklassen version av metoden. Med den här tekniken kan du ändra beteendet hos en basklass för att passa underklassens behov.
Anta att du har en basklass som heter Game som har en metod som heter play. Basklassen, som inte representerar något speciellt spel, implementerar denna metod:
Public Class Game (public void play () {}}
Därefter förklarar du en klass med namnet Schack som utökar Game klassen men ger också en implementering för spelmetoden:
public Klass Chess utökar spelet {public void play () {System. ut. println ("Jag ger upp. Du vinner.");}}
Här, när du kallar spelmetoden för ett schackobjekt, meddelar spelet att det ger upp.
Observera att för att åsidosätta en metod måste tre villkor vara uppfyllda:
-
Klassen måste förlänga klassen som definierar metoden du vill åsidosätta.
-
Metoden måste deklareras i grundklassen med allmänhetens tillgång. Du kan inte åsidosätta en privat metod.
-
Metoden i underklassen måste ha samma signatur som metoden i basklassen. Med andra ord måste namnet på metoden och parametertyperna vara desamma.