Also habe ich vor einigen Tagen angefangen Java zu lernen und habe eine Frage bekommen. Für den nächsten Ausdruck:
%Vor% ist nicht erlaubt. In System.out.printIn()
können wir jedoch etwas wie:
Es ist nicht erlaubt, einer Zeichenkette implizit eine Ganzzahl zuzuweisen. Warum funktioniert der obige Ausdruck? Jeder kann eine detaillierte Erklärung geben? Ich frage mich auch, wann wir diese Art von impliziten Dingen benutzen können und wann nicht.
Es gibt so viele überladene Methoden des PrintStream System.out
:
Der Grund, warum Sie println mit einer ganzen Zahl aufrufen können, liegt daran, dass die Methode überladen ist. Grundsätzlich gibt es mehr als eine Methode namens println und eine davon akzeptiert eine Ganzzahl.
Schauen Sie sich hier an: PrintStream
Das statische Mitglied out
der Klasse System
ist ein PrintStream
, das eine Methode mit der Signatur println(int)
hat.
Sehen Sie sich die API für PrintStream
an ( System.out
ist ein PrintStream
). Es hat die Methoden println()
, println(boolean)
, println(char)
, println(char[]
), println(double)
, println(float)
, println(int)
, println(long)
, println(Object)
und println(String)
. Dies wird als Methodenüberladung bezeichnet (scrollen Sie nach unten, um den Abschnitt über Methodenüberladung zu finden).
Wenn Sie ein String
aus einem Integer-Literal erstellen möchten, können Sie es entweder in Anführungszeichen setzen ( String s = "123";
) oder verwenden Sie Integer.toString
( String s = Integer.toString(123);
) oder String.valueOf
( String s = String.valueOf(123);
).
Wenn Sie annehmen, dass Sie nicht drucken möchten, hat Java eine println Funktion für jeden Datentyp, so dass Sie println auf Booleans, Ints, Strings, ect aufrufen können und es die richtige Funktion auswählt. Natürlich können Sie einer String-Variablen keine ganze Zahl zuweisen, da sie unterschiedliche Typen sind.
Tags und Links java