intmaths.
und dann drückst Du Strg + Leertaste und dann sollte Dir Eclipse die Möglichkeiten anzeigen.public class Functions implements IntMaths
public class Functions implements IntMaths {
public static void main(String[] args) {
System.out.println(IntMathsImpl.class);
}
@Override
public int gcd(int arg0, int arg1) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int sqrt(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int square(int arg0) {
// TODO Auto-generated method stub
return 0;
}
public class Test {
public static void main(String[] args) {
String testInstanz = new String("abc");
int length = testInstanz.length();
System.out.println(length);
}
}
Weil es ein Interface ist und du davon keine Instanz erstellen kannst.Warum wird IntMaths rot unterstrichen?
IntMaths result = new IntMathsImpl();
int gcd = result.gcd(gcd, gcd);
Es steht doch alles haarklein da:This package contains the interface IntMaths and its implementation in the class IntMathsImpl.
Write a class that calls the three functions and prints the result on System.out
// fürs Beispiel nur eine Methode, keine drei
interface Foo {
int add(int value1, int value2);
}
class FooImpl implements Foo {
@Override
public int add(int value1, int value2) {
return value1 + value2;
}
}
class Test {
Foo foo = new Foo();
int result = foo.add(41, 1);
System.out.println(result);
}
Wenn man sich alles vorkauen lässt, lernt man halt nix, hier ist der lebende Beweis...Sag mal @jono, wir haben im Dezember doch seitenlang über äußere und innere Klassen und Milchprodukte geschrieben. Und jetzt weißt du immer noch nicht, wie man die Instanz einer Klasse erzeugt und Methoden darauf aufruft?
Foo foo = new Foo(); muss natürlich Foo foo = new FooImpl(); sein.
IntMaths ist ein Interface und Du kannst keine Instanz von einem Interface erzeugen. Du wolltest vielleicht
IntMaths result = new IntMathsImpl();
schreiben.
Und das
int gcd = result.gcd(gcd, gcd);
macht wenig Sinn. Du definierst gcd ja erst. Was willst Du denn bei result.gcd genau übergeben?
Nein, da steht ausgegeben, nicht aufrufen mit Hilfe von System.out. Erstell einfach eine Instanz von IntMathImpl und ruf die Funktionen auf. Wie bei jeder Klasse aus dem jdk auch... Sonst geh bei den Vorlesungen nochmal ein paar Folien zurück. Mir wirds gerade ein bisschen zu doof...