C
curtis
Gast
ich bekomme beim overloaden einer klasse einen compile-time-error, den ich beim besten willen nicht verstehe. hier der source-code:
der fehler lautet: The method print(double) is ambiguous for the type Overload.
ich übergebe doch eindeutige primitive typen und das overloaden in einer sub-klasse ist doch erlaubt! also was will der compiler von mir?????
Code:
class SuperOverload {
void print(int i){
System.out.println("int"+i);
}
void print(char c) {
System.out.println("char"+c);
}
void print(boolean b) {
System.out.println("boolean"+b);
}
}
public class Overload extends SuperOverload {
void print(double d){
System.out.println("double"+d);
}
public static void main(String[] args) {
Overload ol=new Overload();
int i=4;
char x='x';
ol.print(i);//The method print(double) is ambiguous for the type Overload
ol.print(true);
ol.print(x);//The method print(double) is ambiguous for the type Overload
ol.print(4.67d);
}
}
der fehler lautet: The method print(double) is ambiguous for the type Overload.
ich übergebe doch eindeutige primitive typen und das overloaden in einer sub-klasse ist doch erlaubt! also was will der compiler von mir?????