Tiji Geschrieben 17. Januar 2012 Geschrieben 17. Januar 2012 Guten Abend, ich fang erstmal damit an, dass ich wirklich ein totaler Anfänger in der Programmierung und vor allem in der Programmiersprache Java bin. Ich schreib morgen eine Klausur(ja ich weiss ich bin sehr früh dran ^^) und hab hier ein paar Aufgaben vor mir liegen mit denen ich einfach nicht zurecht komme. 1.Eine Java Klasse kann von mehreren Klassen abgeleitet werden. Diese Aussage ist richtig oder falsch? Ich dachte eigentlich es gibt keine Mehrfachvererbung und hätte deswegen zu falsch tendiert, jedoch sagt die Lösung richtig. Wieso ? 2.Wo liegt der Fehler im folgenden Programm? public class test{ static int wert = 10; public static void main(String[] args){ System.out.println(wert); } } ich ich hab wirklich überhaupt keine Ahnung 3.Gegeben sei ein Interface wie folgt interface myInterface { void ausgeben();} Definieren sie ein Objekt von einer Anonym-Klasse, die das Interface implementiert und die Methode void ausgebe so implementiert, dass "aK" ausgegeben wird ich hätte gesagt : new myinterface(){void ausgeben(){System.out.println("aK")}}; bin mir aber absolut unsicher ob ich überhaupt ein objekt von einem interface erstellen kann. Bin mir nicht sicher, ob ich im richtigen Forum den Thread erstellt hab. Hoffe es einfachmal. Danke schonmal im vorraus Zitieren
flashpixx Geschrieben 17. Januar 2012 Geschrieben 17. Januar 2012 1.Eine Java Klasse kann von mehreren Klassen abgeleitet werden. Diese Aussage ist richtig oder falsch? Ich dachte eigentlich es gibt keine Mehrfachvererbung und hätte deswegen zu falsch tendiert, jedoch sagt die Lösung richtig. Wieso ? Es gibt auch keine Mehrfachvererbung bzw Java behilft sich mit einem Trick. Überleg Dir wofür die Schlagwörter implements und extends stehen und welche Funktionalität sie bieten 2.Wo liegt der Fehler im folgenden Programm? public class test{ static int wert = 10; public static void main(String[] args){ System.out.println(wert); } } ich ich hab wirklich überhaupt keine Ahnung Warum nimmst Du nicht den Quellcode und kompilierst ihn, dann würdest Du Fehler finden, da der Compiler Dir syntaktische Fehler anzeigt 3.Gegeben sei ein Interface wie folgt interface myInterface { void ausgeben();} Definieren sie ein Objekt von einer Anonym-Klasse, die das Interface implementiert und die Methode void ausgebe so implementiert, dass "aK" ausgegeben wird ich hätte gesagt : new myinterface(){void ausgeben(){System.out.println("aK")}}; das ist falsch bin mir aber absolut unsicher ob ich überhaupt ein objekt von einem interface erstellen kann. Die Antwort zu Aufgabe 1, verstehe was das "interface" bzw "implements" macht, dann sollte das kein Problem sein. Generell lassen sich aber die Fragen 1 und 3 auch mit Hilfe von einer Suchmaschine beantworten Zitieren
RomeoIstFaulWeilErJava Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 Zur Frage 1: Eine Java Objekt kann mit mehreren Java Klassen kombiniert werden. Man kann mehrere Java Klassen in ein Objekt einfügen. Das Java Klasse Paket kann implementiert werden. Aber Ich kann dir wirklich nicht genau sagen ob du Richtig ankreuzen willst. Ich würde freundlicherweise Richtig ankreuzen. Zitieren
RomeoIstFaulWeilErJava Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 (bearbeitet) Frage 2: Als erstes auf Ordentlichkeit achten. Als nächstes auf geschweifte Klammern achten und auf Semikolon achten. Als letztes die Klassen überprüfen. (Schwierigster Aufgabenteil) public class test{ static int wert = 10; public static void main(String[] args){ System.out.println(wert); } } ------------------- public class test{ public static void main(String[] args){ static int wert = 10; System.out.println(wert); } } Bearbeitet 18. Januar 2012 von RomeoIstFaulWeilErJava Zitieren
flashpixx Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 Eine Java Objekt kann mit mehreren Java Klassen kombiniert werden. Klassen kann man nicht kombinieren! Man kann mehrere Java Klassen in ein Objekt einfügen. Klassen kann man nicht in ein Objekt einfügen. Bitte einmal den Unterschied zwischen Klasse und Objekt nachlesen Das Java Klasse Paket kann implementiert werden. Es gibt keine Klasse "Paket" im Java Standard. Frage 2: public class test{ static int wert = 10; public static void main(String[] args){ System.out.println(wert); } } ------------------- public class test{ public static void main(String[] args){ static int wert = 10; System.out.println(wert); } } Wo ist der Unterschied? Und wo ist der Unterschied zu dem Quellcode aus dem geposteten Thread? Bitte nicht Fehler dazu erfinden, wo keine sind Generell einmal die Code-Tags verwenden und fachliche korrekte Termini verwenden, so dass die Antworten auch nachvollziehbar sind Zitieren
flashpixx Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 @RomeoIstFaulWeilErJava: Unterlasse bitte solche Ausdrücke Zitieren
RomeoIstFaulWeilErJava Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 (bearbeitet) Haben alle die Englisch lesen und schreiben, Rechtschreibfehler ? Bearbeitet 18. Januar 2012 von RomeoIstFaulWeilErJava Zitieren
Tiji Geschrieben 18. Januar 2012 Autor Geschrieben 18. Januar 2012 Entschuldigung, ich hab euch ein Programm ohne Fehler gegeben ^^. Hatte das wichtigste vergessen, das this. public class test{ static int wert = 10; public static void main(String[] args){ System.out.println(this.wert); } } Ich verstehe aber nicht warum ich hier this nicht verwenden kann. Kann jemand versuchen mir das zu erklären ? Zitieren
i � unicode Geschrieben 18. Januar 2012 Geschrieben 18. Januar 2012 (bearbeitet) Morgen! Das "this" bezieht sich auf ein Objekt bzw. Instanz. Dieses ist hier aber nicht vorhanden, da du dich im Einstiegspunkt des Programms (main-Methode) befindest. Diese ist static und kann auch nicht einem Objekt zugeordnet werden. Objekte (bzw. Instanzen) werden mit "new" initialisiert. Bsp: String text = new String("hallo"); Wenn du also beispielsweise eine Klasse hast, von der du dann in der main-Methode (oder wo anders) ein Objekt erzeugst, kannst du dann innerhalb des Objektes mit "this" auf die eigenen Variablen zugreifen. Ich empfehle dringends ein gutes Buch. Oder online-tutorials. Google mal nach: Thorsten Horn Gailer-net Java ist auch eine Insel -- Und: Benutz doch bitte beim nächsten mal die -Tags, wenn du mehr als eine Zeile Code postest. Bearbeitet 18. Januar 2012 von i � unicode Zitieren
Sacaldur Geschrieben 20. Januar 2012 Geschrieben 20. Januar 2012 zur 1. Frage: das einzige, was mir einfallen würde, warum die Antwort richtig sein soll ist, dass nicht nur die Klassen gemeint sind, von denen die eigene direkt abgeleitet sind, sondern alle sich im Hirarchiebaum oberhalb der eigenen Klasse befindlichen String beispielsweise ist von Object abgeleitet Integer (die Klasse Integer, nicht der primitive Datentyp int) ist von Number und Object abgeleitet die 2. Frage wurde offensichtlich bereits beantwortet zur 3. Frage: auf den ersten Blick sieht der Abschnitt in Ordnung aus, abgesehen davon, dass es myInterface heißt und ein Semikolon vergessen wurde damit es deutlicher wird hier nochmal der gleiche Quellcode besser formatiert (und mit Variable, was in der Aufgabe aber nicht gefordert wurde) myInterface instance = new myinterface() { void ausgeben() { System.out.println("aK") } }; man kann keine Objekte von Interfaces instanzieren, sondern nur von Klassen in deinem Fall hast du eine anonyme innere Klasse angelegt, von der du gleich ein Objekt erzeugt hast da in der Aufgabenstellung eine anonyme Klasse gefordert wurde, ist das der richtige Weg tut mir Leid, dass meine Antwort erst jetzt kommt =/ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.