Fragen vom Java Anfänger

theSonGoku

Neues Mitglied
Hallo,

ich habe mir vor geraumer Zeit das Buch "Einstieg in Java 6" gekauft (19,99€) und bin über die ersten 100 Seiten hinweg.^^ Alles soweit nichts Neues für mich gewesen, da ich bereits Delphi, C, C++ und Assembler Vorkentnisse habe.

Wenn es um den Punkt "objektorientiere Programmierung" geht, stehe ich zwar nicht komplett auf dem Schlauch, es gibt aber einige Begriffe, die mir auch nach mehrfachen durchlesen nicht wirklich Erklärung boten.

- Innere Klasse
- Abstrakte Klassen
- Interfaces
- Generische Klassen
- Polymorphie

Muss ich diese Begriffe wirklich kennen/können? Wenn ja, dann helft mir bitte. Vielleicht ist eure Erklärung ja einfacher oder verständlicher, als die Erklärung im Buch. :)

mfG
Goku
 

Landei

Top Contributor
Die Kurzversion:

- Innere Klasse
Eine Klasse, die innerhalb einer anderen Klasse definiert ist. Hat Zugriff auf die Felder der umgebenden Klasse (es sei denn, sie ist als static deklariert)

- Abstrakte Klassen
Eine Klasse, die nicht alle Methoden definiert hat. Davon kann man zwar keine Instanzen erzeugen, aber man kann davon andere Klassen ableiten, die dann die fehlenden Methoden definieren. Dient also als eine Art "nützliche Schablone".

- Interfaces
Ein Interface definiert einen Typ, der bestimmte Methoden anbietet. Eine Klasse, die Interfaces implementiert, muss auch die dazugehörigen Methoden defininieren. Instanzen dieser Klasse können dann auch da verwendet werden, wo nicht der Typ der Klasse selber, sondern eines der Interfaces "verlangt" wird. Typisches Beispiel: Klassen die das Interface Comparable (mit einer Vergleichsmethode) implementieren, können z.B. von anderem Code sortiert werden, ohne dass dieser Klasseninterna kennen muss.

- Generische Klassen
Eine Klasse mit Typ-Parametern. Statt z.B. einen eigene Listen-Klasse für Strings, eine Listen-Klasse für Dates, eine Listen-Klasse für Files u.s.w. zu schreiben, schreibt man eine einzige Klasse für einen unbekannten Typen "T". Erst wenn man ein Listen-Objekt erstellt, sagt man, welcher konkrete Typ für T eingesetzt werden soll. C++-Templates sind ähnlich, aber anders implementiert (z.B. lässt sich in Java der Code nicht spezialisieren, er muss für alle Belegungen von T gleich sein). Für T lassen sich gewisse Beschränkungen angeben (z.B. T muss ein bestimmtes Interface implementieren, oder Unterklasse von Number sein u.s.w.)

- Polymorphie
Es gibt verschiedene Arten der Polymorphie, z.B. durch Vererbung oder durch Typ-Parameter (Generics). In funktionalen Sprachen sind z.B. Funktionen höherer Ordnung eine Form der Polymorphie. Siehe Polymorphie (Programmierung) ? Wikipedia
 
Zuletzt bearbeitet:

apio

Mitglied
Hi

ichs versuchs mal mit beispielen:

abstrakte K: Fahrzeug ...davon abgeleitet dann KFZ , LKW usw. von Fahrzeug allein kannst wie gesagt keine Objekte erstellen

Interface : da keine Mehrfachvererbung erlaubt ist, wie du sie von C++ kennen könntest, wird das in JAva mit den Interfaces gelöst. In dem I. stehen dann nur die Methodenrümpfe drin, die implementiert werden müssen. Ist also "schwächer" als extends. Sagen wir du leitest von deinem Fahrzeug von oben nen KFZ ab, dann willst du es geländegängig haben - implements gelände, in gelände stehen dann Methodenrümpfe z.b. winde hoch oder allrad rein, die du dann in deinem KFZ implementieren musst.
D.h. ne Klasse mit implements X hat "Vorschriften" durch X welche Methoden drinne sein müssen aber NICHT was die zu machen haben ;-)

G-Klassen : stells dir als Container vor, wo erstmal alles gespeichert werden kann

Polymorphie ist nervig zu beschreiben. Das ist meines Wissens nach z.b. der Grund warum Mehrfachvererbung verboten ist, in C++ kann man damit schlimme Sachen verbocken^^
Angenommen eine Klasse rechnen rechnet Rauminhalte von Dreicken, Rechtecken usw. aus. Wenn jetzt ein Rechteck - Objekt aufruft, wird automatisch die richtige Formel genommen, durch die Polymorphie.



Alles in allem sind das alles Dinge, die man besser mal anwendet, irgendwann hast du nen Problem das ohne diese Dinge sehr schwer zu lösen wäre. Am besten ist es immer du quälst dich nen paar Tage rum, dann fragst jemanden und ärgerst dich das es eigentlich so einfach gewesen wäre :) und lernst nebenbei ne Menge ^^
 

Landei

Top Contributor
Nicht schlecht, aber:

Interface : da keine Mehrfachvererbung erlaubt ist, wie du sie von C++ kennen könntest, wird das in JAva mit den Interfaces gelöst. In dem I. stehen dann nur die Methodenrümpfe drin, die implementiert werden müssen.
Die Rümpfe nun gerade nicht, nur die Methodenköpfe (oder auch "Methoden-Signaturen")

Polymorphie ist nervig zu beschreiben. Das ist meines Wissens nach z.b. der Grund warum Mehrfachvererbung verboten ist, in C++ kann man damit schlimme Sachen verbocken^^
Angenommen eine Klasse rechnen rechnet Rauminhalte von Dreicken, Rechtecken usw. aus. Wenn jetzt ein Rechteck - Objekt aufruft, wird automatisch die richtige Formel genommen, durch die Polymorphie.
Das ist nur eine Form, nämlich die Vererbungs-Polymorphie. Es gibt andere Formen wie Generics oder Operatorüberladungen.
 

theSonGoku

Neues Mitglied
@apio:

Es ist schon oft so gewesen, dass ich solche Sachen einfach angewandt habe, und später laß, dass dies einen bestimmten Namen hat etc.^^ Irgendwie ging es so auch immer. :p

Ich sehe mal wie es aussehen wird. Das Kapitel "Rechenoperatoren" kann ich nun erstmal komplett überspringen.^^

Jemand könnte mir allerdings sagen, was sowas bedeuten soll:

j = i | 1
j = i ! 1
j = i ^ 1

So, ich werde dann mal eben wieder von dannen ziehen. ;)

Danke schonmal für die bereits geschriebenen Antworten und die noch kommenden. :)

mfG
Goku
 

Runtime

Top Contributor
1. i bitweise oder Verknüpft: Wenn i z. B. den Wert 4 hat, dann ist das im Binaärsystem so geschrieben: 100
dann wird 100 und 001 (die zweite Zahl der Operation) zu 101 weil 1 oder 0 = 1; 0 oder 0 = 0; 0 oder 1 = 1; -> 101 -> 5
2. Geht gar nicht
3. Das selbe wie bei eins, einfach statt oder wird xor genommen. xor bedeutet bei 1 und 0 = 1; bei 0 und 1 = 1; bei 0 und 0 = 0; bei 1 und 1 = 0;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger und paar Fragen=D Java Basics - Anfänger-Themen 7
S Viele Fragen von einem Anfänger in Java Java Basics - Anfänger-Themen 2
CT9288 Fragen zu Java Java Basics - Anfänger-Themen 16
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
J Erste Schritte Oracle Tutorials zu Java 8 - Fragen dazu Java Basics - Anfänger-Themen 1
H Java Quereinsteiger Roadmap und Fragen Java Basics - Anfänger-Themen 29
B Java ist / wird kostenpflichtig. Ein paar Fragen Java Basics - Anfänger-Themen 1
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
Azazel Ein paar Fragen zu Methodenaufrufen(java.awt) Java Basics - Anfänger-Themen 2
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
T Ein paar Fragen zu OOP und Java. Java Basics - Anfänger-Themen 16
N Java Fragen... Java Basics - Anfänger-Themen 10
B Erste Schritte Generelle Fragen zu Java / Greenfoot. Java Basics - Anfänger-Themen 8
D JAVA AWT Fragen und Probleme Java Basics - Anfänger-Themen 15
J [Neuling] Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 20
C Java Übung Fragen Java Basics - Anfänger-Themen 3
typo3agentur Fragen zur OOP in Java Java Basics - Anfänger-Themen 3
V Java Fenster, einige Probleme und Fragen Java Basics - Anfänger-Themen 5
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 7
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
G Java Verstaendnis ? und einige Fragen Java Basics - Anfänger-Themen 4
B Fragen aus einem worddokument in Java einbinden Java Basics - Anfänger-Themen 9
0x7F800000 Ein paar noob-fragen zu java ME Java Basics - Anfänger-Themen 5
D Fragen zu Java-Generics Java Basics - Anfänger-Themen 2
J Fragen zu java Kurs Java Basics - Anfänger-Themen 2
P Fragen nach 12 monatiger Java Pause :P Java Basics - Anfänger-Themen 21
D Einige Fragen zu Java Java2D JDBC usw. XD Java Basics - Anfänger-Themen 13
A Allgemeine Fragen zu Java Java Basics - Anfänger-Themen 10
A In Java zeichnen - Fragen Java Basics - Anfänger-Themen 4
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
A Bei VierGewinnt fragen ob man gegen CPU oder Menschen spielen will. Java Basics - Anfänger-Themen 7
A Bei VierGewinnt vorher fragen, ob man gegen den Computer spielen möchte oder gegeneinander. Java Basics - Anfänger-Themen 1
A Bei VierGewinnt fragen, ob man gegen den Computer spielen möchte oder gegeneinander Java Basics - Anfänger-Themen 1
sserio Wie kann man nach einer Klasse fragen? Java Basics - Anfänger-Themen 12
G Fragen zu Kompelierfehler in Aufgabe. Java Basics - Anfänger-Themen 25
E Bäume/ allgemeine Fragen Java Basics - Anfänger-Themen 21
O Falsche Antworten zu Fragen Java Basics - Anfänger-Themen 4
S Diverse Fragen vor Schulaufgabe ;) Java Basics - Anfänger-Themen 4
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B fragen zu Aufbau eines UML-Klassendiagramm Java Basics - Anfänger-Themen 1
C 3 Fragen rund um Klassenattribute Java Basics - Anfänger-Themen 8
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
D Budget Manager fragen zur Umsetzung Java Basics - Anfänger-Themen 9
N Fragen zur Datenspeicherung Java Basics - Anfänger-Themen 45
W Fragen zu Generics Java Basics - Anfänger-Themen 14
T ObjectInput/OutputStream Fragen zur Funktionsweise Java Basics - Anfänger-Themen 3
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
J Fragen zu Input/Output Java Basics - Anfänger-Themen 3
H fragen Java Basics - Anfänger-Themen 15
M Samelsarium Grundlegender Fragen 2 Java Basics - Anfänger-Themen 9
M Sammelsarium an Grundlagen Grundlagen Fragen Java Basics - Anfänger-Themen 11
J Fragen zu synrchonized und kritischen Abschnitten Java Basics - Anfänger-Themen 5
S Fragen zu einem Rechentrainer Java Basics - Anfänger-Themen 2
J Wo kann man Fragen zu ireport stellen. Java Basics - Anfänger-Themen 0
M Fragen zum Anlegen und Benutzen von Listen Java Basics - Anfänger-Themen 9
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
D Fragen zur Klassen Java Basics - Anfänger-Themen 4
Aprendiendo Zwei Fragen und ein geerbtes "protected"-Attribut Java Basics - Anfänger-Themen 2
J Interface Fragen bezüglich "Sauberkeit" von Code Java Basics - Anfänger-Themen 5
D Objekte-Fragen Java Basics - Anfänger-Themen 1
V Erste Schritte Habe Fragen zu der For und While Schleife als auch Inkrement und Dekrement Java Basics - Anfänger-Themen 4
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
S Erste Schritte Fragen zur For-Schleife Java Basics - Anfänger-Themen 9
C Interface Fragen zum Interface Java Basics - Anfänger-Themen 7
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
C Fragen zum Spigot Plugin (1.8) Java Basics - Anfänger-Themen 6
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
N Quiz- Fragen zufällig anzeigen lassen Java Basics - Anfänger-Themen 7
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
B Fragen zu ZIP-File Java Basics - Anfänger-Themen 9
L fragen zu arrays Java Basics - Anfänger-Themen 8
L Fragen zu selbstgeschriebenem Programm Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
K Erste Schritte Frage Antwort Spiel - Fragen zur Planung Java Basics - Anfänger-Themen 2
Anfänger2011 2 kleine Fragen zu ArrayListen Java Basics - Anfänger-Themen 5
S Fragen zu Ausdrücken&Bedingungen Java Basics - Anfänger-Themen 5
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
H grundlegende Fragen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6
N Programm: Fragen beantworten Java Basics - Anfänger-Themen 6
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
D Rekursion Allgemeine Fragen Java Basics - Anfänger-Themen 2
D [Fragen] zu Methoden Java Basics - Anfänger-Themen 2
S Fragen zur Implementierung eines Binärbaums Java Basics - Anfänger-Themen 3
J Allgemeine Fragen zur GUI Java Basics - Anfänger-Themen 1
johnnydoe Erste Schritte Erster Blick - erste Fragen Java Basics - Anfänger-Themen 11
DStrohma Grundsätzliche Fragen zu Drag & Drop Java Basics - Anfänger-Themen 1
N Klassen fragen zur getter und setter methode Java Basics - Anfänger-Themen 11
S 3 Fragen, Verzeichnis, GridLayout psoitionieren, Werte für JSpinner Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben