IntElement ist eine Unterklasse von DataElement. num ist ein int, das einen Wert für eine verkettete Liste speichert.
Was ist der Zweck von (IntElement) gemäß temp =? Was wäre daran falsch IntElement temp = otherElement? Und im Allgemeinen, was bewirkt es, einen Datentyp so in Klammern zu setzen?
Sie sagen dem Compiler, dass er die von Ihnen deklarierte Tatsache ignorieren soll otherElement als DataElement und vertraue dir, es wird ein IntElement und nicht DataElement oder eine andere Unterklasse von DataElement.
Du kannst nicht gerecht werden IntElement temp = otherElement; wie Sie es auf diese Weise machen würden otherElementwas definiert wurde als DataElement werden in diesem Fall zu einem anderen Element IntElement. Dies wird ein schwerer Schlag für die Typsicherheit sein, weshalb Typen überhaupt erst definiert werden.
Dies könnte technisch durch Typrückschluss erfolgen:
Der Zweck von (IntElement) gemäß temp führt eine Typkonvertierung durch, technisch gesehen a gießenwo du das sagst otherElementwas ein Parameter vom Typ ist DataElementsollte als Objekt der konkreteren Art betrachtet werden IntElement.
jmein ist richtig, es weist den Compiler/Interpreter an, den einen Variablentyp in einen anderen umzuwandeln. In Wirklichkeit sagt es dem Prozessor nur, es als einen anderen Typ zu behandeln. In C ist dies ein Segen und ein Fluch, in Java, was so aussieht, als würden Sie schreiben, MÜSSEN Sie die Variable umwandeln, um sie anders zu behandeln.
Josh Mein
(IntElement) wandelt ein anderes Element um, das vom Typ ist Datenelement tippen IntElement