Ich habe zum Beispiel diese Klasse:
public class Col {
static void test(int a)
{
System.out.println("int");
}
public static void main(String args[])
{
Col.test(12); //1
Col.test((byte)12); //2
Col.test((long)100); //3
}
}
und nun interessiert mich, wie der Algorithmus dieses Codes funktioniert. Ich denke, dass diese Schritte:
1 Zeile - alle korrekte Aufrufmethode mit int-Param, perfekt.
2 Zeilen - Aufruf einer Methode mit Byte-Param...oooops. was tun? Java versuchen, byte zu int zu erweitern? Stimmt das?
3 Zeile Aufruf Methode mit long param... wieder ooops. was tun? konvertieren long zu int Java kann nicht, weil Verlust der Genauigkeit. seine versuchen? Und im Ergebnis - Exception.
Dann füge ich dies hinzu:
public static void test(Object a)
{
System.out.println("Object");
}
und wenn ein Anruf:
Col.test((long)100);
alles korrekt, keine Ausnahme Welche Beziehung besteht also zwischen dem primitiven Typ long und Object?