Java @ Override-merknad

1. Oversikt

I denne raske opplæringen vil vi se på hvordan du bruker @Overstyring kommentar.

2. @Overstyring Kommentar

I en underklasse kan vi overstyre eller overbelaste forekomstmetoder. Overstyring indikerer at underklassen erstatter arvet atferd. Overbelastning er når en underklasse legger til ny oppførsel.

Noen ganger vil vi overbelaste ved et uhell når vi faktisk hadde til hensikt å overstyre. Det er lett å gjøre denne feilen i Java:

public class Machine {public boolean equals (Machine obj) {return true; } @Test offentlig ugyldig nårTwoDifferentMachines_thenReturnTrue () {Objekt først = ny maskin (); Objekt andre = ny maskin (); assertTrue (første. likhet (andre)); }}

Overraskende nok mislykkes testen ovenfor. Dette er fordi dette er lik metoden er overbelastning Objekt # er lik, ikke overstyre det.

Vi kan bruke @Overstyring kommentar om arvede metoder for å beskytte oss mot denne feilen.

I dette eksemplet kan vi legge til @Overstyring kommentar over er lik metode:

@ Override offentlige boolske lik (maskinobjekt) {return true; }

På dette punktet vil kompilatoren reise en feil og informere oss om at vi ikke overstyrer er lik som vi tror.

Deretter kan vi rette feilen vår:

@Override offentlig boolsk lik (Object obj) {return true; }

På grunn av hvor enkelt det er å tilfeldigvis overbelaste, det er en vanlig anbefaling å bruke @Overstyring kommentar på alle arvede metoder.

3. Konklusjon

I denne guiden så vi hvordan @Override-merknaden fungerer i Java.

Den fullstendige kildekoden for eksemplene finner du på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found