Du vil få en synatksfeil i flg. klasse. Hvorfor? Fjern så den linjen som inneholder syntaksfeilen og kjør programmet.
Hvorfor blir utskriftene slik de blir? Fjern så den versjonen av skriv
som har Integer
som
type (2. versjon). Hva blir så utskriften av programmet?
public class Testprogram { public static <T extends Number> void skriv(T t) // 1. versjon { System.out.println("1. versjon " + t); } public static void skriv(Integer t) // 2. versjon { System.out.println("2. versjon " + t); } public static void main(String... args) { int i = 5; Integer k = i; Number n = k; Object o = n; skriv(i); skriv(k); skriv(n); skriv(o); skriv(3.14); } }