Zum Inhalt springen

Tausend Fragen und keine Antworten :/


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben (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 von RomeoIstFaulWeilErJava
Geschrieben

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

Geschrieben

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 ?

Geschrieben (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 von i � unicode
Geschrieben

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 =/

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...