Interface Datentyp bei Erzeugung eines Objekts, dessen Klasse eine Schnittstelle implementiert

ratnalein

Mitglied
Hallo zusammen,

ich versuche schon seit Stunden, dieses eine Thema zu verstehen:

Java:
public interface MyInterface {

    public String hello = "Hello";

    public void sayHello();
}

Java:
public class MyInterfaceImpl implements MyInterface {
    public int echteMethode(){
        return 5;
    }
    public void sayHello() {
        System.out.println(MyInterface.hello);
    }
}


Java:
MyInterface myInterface = new MyInterfaceImpl();

myInterface.sayHello();

Es wird oft gesagt, dass der Datentyp von myInterface MyInterface sein soll, statt MyInterfaceImpl. Ich verstehe es nicht, warum. Oft wird diese Frage bzw. diese Thematik in Verbindung mit einer weiteren Klasse gebracht, die ebenfalls MyInterface implementiert. Angenommen, wir haben jene Klasse:
Java:
public class MyInterfaceImplZwei implements MyInterface {
    public int echteMethodeZwei(){
        return 6;
    }
    public void sayHello() {
        System.out.println(MyInterface.hello);
    }
}

Als Vorteil wird geschildert.. wenn man für die Objekterzeugung folgendes schreibt:
Java:
MyInterface objektInterface = new MyInterfaceImpl();
statt:
Java:
MyInterfaceImpl objektInterface = new MyInterfaceImpl();

,dann braucht man im Folgecode nichts mehr umzuändern, außer des Datentypen von objektInterface. Ich frage mich, wieso?:oops:
Könnte mir jemand bitte helfen?

Lieben Dank.

Schöne Grüße aus Rheinland,

Eure Ratna:)
 

Marco13

Top Contributor
Hm. "Nichts mehr zu ändern" ist vielleicht etwas mißverständlich. Wenn ÜBERALL im Code nur sowas steht wie
Java:
objektInterface.sayHello();
dann ist natürlich egal, ob die Variable als
MyInterface objektInterface = ... oder
MyInterfaceImpl objektInterface = ... oder
MyInterfaceImplZwei objektInterface = ...
definiert ist. Das ist aber nicht die Regel.

Die Schwierigkeiten treten auf, wenn sich jemand (und sei es nur "versehentlich") an irgendeiner Stelle auf einen besimmten Typ verläßt:
Java:
class MyInterfaceImplZwei implements MyInterface 
{
    ...
    // Wie vorher, aber zusätzlich:
    public void sayGoodbye() { System.out.println("to flexibility and abstraction"); }
}
und dann die Variable als
MyInterfaceImplZwei objektInterface = ...
deklariert ist, und irgendwo jemand
objektInterface.sayGoodbye();
aufruft. Dann funktioniert dieser Code auf einmal NUR noch mit dem MyInterfaceImplZwei.

Deutlicher wird es bei Methodensignaturen. Wenn irgendwo eine Methode steht wie
Java:
public void letHimSayHello(MyInterface object)
{
    object.sayHello();
}
Dann kann man dort jedes beliebige Objekt übergeben, das das Interface implementiert. Egal ob "Impl" oder "ImplZwei". Wenn man aber von vornherein
Java:
public void letHimSayHello(MyInterfaceImpl object)
{
    object.sayHello();
}
schreibt, funktioniert es wieder nur mit 'Impl', und nicht mit irgendwas anderem.


Ganz konkret: Mir läuft es immer kalt den Rücken runter, wenn ich sowas sehe wie
Java:
public void doSomething(ArrayList<String> list) { ... }
weil man dort NUR eine ArrayList übergeben kann. Wenn man
Java:
public void doSomething(List<String> list) { ... }
schreiben würde, könnte man nicht nur ArrayLists, sondern auch Vectors, LinkedLists und alle anderen Lists dort übergeben.
 

Timothy Truckle

Top Contributor
,dann braucht man im Folgecode nichts mehr umzuändern, außer des Datentypen von objektInterface. Ich frage mich, wieso?:oops:
So richtig interessant wird die Sache ja erst bei der Verwendung in Colletions:
Java:
Set<MyInterface> mySet = new Hashset<>();
mySet.add(new MyInterfaceImpl());
mySet.add(new MyInterfaceImplZwei());
for(MyInterface myInterface:mySet) {
   myInterface.sayHallo();
}
Un jetzt stell Dir mal vor,
Code:
sayHallo()
wäre in den beiden Implementierungen anders ausgeführt:
Java:
public class MyInterfaceImpl implements MyInterface {
       public void sayHello() {
        System.out.println(MyInterface.hello);
    }
}
public class MyInterfaceImplZwei implements MyInterface {
    public void sayHello() {
        MessageFormat.format("MyInterfaceImplZwei says {0} to the world",MyInterface.hello);
    }
}
Obwohl Du in der for Schleife immer die selbe Methode aufrufst passiert bei jedem Objekt etwas anderes.
Das nennt man Polymorphie.

Die lässt sich auch mit "normaler" Vererbung erreichen, aber über Interfaces ist die Sache viel einfacher zu handhaben.

bye
TT
 

ratnalein

Mitglied
Hallo zusammen,

@Marco13,
und dann die Variable als
MyInterfaceImplZwei objektInterface = ...
deklariert ist, und irgendwo jemand
objektInterface.sayGoodbye();
aufruft. Dann funktioniert dieser Code auf einmal NUR noch mit dem MyInterfaceImplZwei.
Aber das ändert doch nichts daran, dass frau hierbei auch etwas umändern muss, nämlich von:
Java:
MyInterface objektInterface = new MyInterfaceImpl();

auf

Java:
MyInterface objektInterface = new MyInterfaceImplZwei();

Bei meiner Version wäre doch auch lediglich EINE Änderung notwendig, nämlich von:

Java:
MyInterfaceImpl objektInterface = new MyInterfaceImpl();

auf

Java:
MyInterfaceImpl objektInterface = new MyInterfaceImplZwei();

Habe ich einen Denkfehler?

Schöne Grüße aus Rheinland,

Eure Ratna
 

Daassan

Mitglied
also der grundgedanke eines Interfaces ist
dass man eine einheitliche Schnittstelle hat.
die konkrete implementierung ist, letztlich vollkommen egal, solange die signatur stimmt.

Das hat den Vorteil, das du "variable" Verarbeitungen schreiben kannst.
Anstatt immer genau die Klasse zu nennen, gibst in den Paras nur das interface an.
Damit kannst du alle beliebigen Implementierungen an der Stelle übergeben.

bsp währe bei dem Thema Threads das interface Runnable.
methode ist void run();

was in dem Thread berechnen und verarbeitet werden soll wird von fall zu fall implementiert
aber dem Thread ist es ja egal da alle objekte die es bekommt mindestens diese methode haben muss

wenn du aber die objektklasse wissen willst geht das insofern ich mich nicht irre mit dem .class attribut
aber wenn du das wissen musst nützt das interface nichts mehr ^^
 

ratnalein

Mitglied
Hallo zusammen,

vielen Dank für die Hilfestellungen. Ich habe soweit verstanden:
Mit dem Interface als Datentyp, kann quasi viel mehr reinkommen als irgendwie den Datentyp einzuschränken.

Aber folgendes:

List myList = new ArrayList(); // programming to the List interface

instead of

ArrayList myList = new ArrayList(); // this is bad
These look exactly the same in a short program, but if you go on to use myList 100 times in your program you can start to see a difference. The first declaration ensures that you only call methods on myList that are defined by the List interface (so no ArrayList specific methods). If you've programmed to the interface this way, later on you can decide that you really need

List myList = new TreeList();
and you only have to change your code in that one spot. You already know that the rest of your code doesn't do anything that will be broken by changing the implementation because you programmed to the interface

Leider verstehe ich noch nicht, wie der Punkt mit "Implementierungen ganz leicht austauschen" gemeint ist.

Wenn ich doch eine Klasse erstelle, die ein Interface implementiert, dann habe ich ja die Methoden aus dem Interface in der "echten" Klasse zu definieren. Für jede Klasse, die das Interface implementiert, muss ich die Interface-Methoden defnieren. Wo ist hier der Punkt "Implementierungen austauschen"?

Spinne ich eigentlich?

Vielen Dank.

Schöne Grüße aus Rheinland,

Eure Ratna:)
 

Timothy Truckle

Top Contributor
Leider verstehe ich noch nicht, wie der Punkt mit "Implementierungen ganz leicht austauschen" gemeint ist.

Wenn ich doch eine Klasse erstelle, die ein Interface implementiert, dann habe ich ja die Methoden aus dem Interface in der "echten" Klasse zu definieren. Für jede Klasse, die das Interface implementiert, muss ich die Interface-Methoden defnieren. Wo ist hier der Punkt "Implementierungen austauschen"?
Schau doch mal in die API zu [JAPI]java.util.List[/JAPI] und da den Punkt "all known impementations".

Wenn Du also eine Referenz vom Typ [JAPI]List[/JAPI] definierts kannst Du dem alle diese "known impementations" und auch alle "unknown impementations" (z.B. Zukünftige) zuweisen.

Wenn deine Referenz vom Typ [JAPI]ArrayList[/JAPI] ist müssen alle Objekte, die du dieser Referenz zuweisen willst [JAPI]ArrayList[/JAPI] erweitern.

innerhalb einer Methode ist das vielleicht gar nicht so interessant, aber für Parameter und Rückgabewerte kann das viel Arbeit ersparen, wenn man deren Typ möglichst weit "unten" in der Vererbungshirarchie ansiedelt, und Interfaces sind da eine gute Wahl.

bye
TT
 
Zuletzt bearbeitet:

ratnalein

Mitglied
Hallo zusammen,

@Timothy Truckle, danke.. Der einzige Vorteil bei so einer Konstellation sehe ich lediglich darin, dass man ALLES als Parameter übergeben kann, hauptsache implementiert dieses ALLES das Interface.

Nein, es geht mir wirklich um die Begründung, warum man folgendes bevorzugen soll:

Java:
List myList = new ArrayList();

statt:
Java:
ArrayList myList = new ArrayList();

Im Beitrag Nr. 6 ist eine Begründung, die ich leider nicht verstehen. Ich verstehe, dass bei ArrayList myList = new ArrayList() die Variable myList nicht mehr frei "zu bewegen" ist, sie kann lediglich auf ein Objekt vom Typ ArrayList referenzieren. Hingegen kann bei der Variante List myList = new ArrayList() die Variable List auf "alles" referenziert werden, hauptsache dieses "Alles" das Interface List implementiert.

Weiter in der Begründung steht, dass man nur "einmal den Code umändern muss". Ich kann mir hierbei leider nicht mehr helfen. Och je, ich hoffe, meine Frage ist verständlich. Vielen Dank.

Schöne Grüße aus Rheinland,

Eure Ratna
 

Timothy Truckle

Top Contributor
Weiter in der Begründung steht, dass man nur "einmal den Code umändern muss". Ich kann mir hierbei leider nicht mehr helfen.
Ich kanns nur wiederholen: solange Du dich innerhalb einer Methode bewegst gibt es erst mal keinen essenziellen Vorteil. Hier geht es lediglich darum, sich das Programmieren gegen Interfaces anzugewöhen.

Wichtig wird das, sobald man Parameter und Rückgabewerte definiert. Und hier beginnt dann das Problem:
Viele IDE's kennen ein automatischen Refactoreing "extract method". Dabei kann man einige Zeilen Markieren und die IDE verschiebt diese in eine neue Methode, die man dann nur noch benennen muss. Die Typen der Parameter und des Rückgabewertes bestimmt sie anhand der Typen der Referenzen, die bei dieser Aktion beteiligt sind. Wenn also die Referenz vom konkreten Typ ist, ist es auch der Parameter/Rückgabewert.
Dazu kommt, dass es in Java guter Stil ist, auf diese Weise viele kleine Methoden zu erzeugen.
Und das kann richtig blöd werden, wenn man später feststellt, dass eine LinkedList wohl doch besser gepasst hätte und man nun 6/7 Methoden anpassen muss.


bye
TT
 

ratnalein

Mitglied
Hallo Timothy,

ich glaube, ich habe so langsam aber sicher verstanden.

List myList = new ArrayList(); // programming to the List interface

instead of

ArrayList myList = new ArrayList(); // this is bad
These look exactly the same in a short program, but if you go on to use myList 100 times in your program you can start to see a difference. The first declaration ensures that you only call methods on myList that are defined by the List interface (so no ArrayList specific methods). If you've programmed to the interface this way, later on you can decide that you really need

List myList = new TreeList();
and you only have to change your code in that one spot. You already know that the rest of your code doesn't do anything that will be broken by changing the implementation because you programmed to the interface

The first declaration ensures that you only call methods on myList that are defined by the List interface (so no ArrayList specific methods)
--> die Referenzvariable kann also lediglich Methoden implementieren bzw. aufrufen, die von dem Interface angeboten werden(z.B. add, clear, equals, usw...).


later on you can decide that you really need
List myList = new TreeList();
and you only have to change your code in that one spot.
--> die obige Aussage stimmt, ABER nur unter den Prämissen, dass man im GESAMTEN Code lediglich Methoden implementieren bzw. definieren, die lediglich vom Interface List angeboten werden


Und zwar das Ganze vielleicht aus der Erkenntnis, dass die eine oder andere Methode vom Interface List bei verschiedenen IMPLEMENTIERENDEN Klassen bzw. Objekten unterschiedliche Laufzeit haben. Zum Beispiel, TreeList braucht irgendwie viel schneller als ArrayList bei der Methode clear. Deswegen ändert frau ja um von:
List myList = new ArrayList();

auf

List myList = new TreeList();

Wenn es richtig ist, was ich hier oben gesagt habe, dann sehe ich einen ganz großen Nachteil bei diesem Programmierstill:
Frau ist "gezwungen", lediglich die Methoden von List implementieren bzw. definieren bzw. aufrufen zu dürfen. :(

Stimmt das????:L

Vielen lieben Dank ;)

Schöne Grüße aus Rheinland,

Eure Ratna:)
 
Zuletzt bearbeitet:

Daassan

Mitglied
List is nen gutes beispiel
es gibt viele Frameworks die Listen implementiert haben als wiedergaben

bestes beispiel ist hier zB jaxb, jpa, rmi...

jaxb zb wird genutzt um XML-Inhalte als Objekte zu binden.

sowas kommt oft vor:
[XML]<mails>
<mail>f@b.de</mail>
<mail>y@b.de</mail>
<mail>i@b.de</mail>
<mails>[/XML]

um das zu übersetzen werden Listen genutzt.
es ist aber die Entscheidung des Anwenders des Frameworks welche liste er nutzt,
denn es wird bei der Deklaration nur List als interface angegeben ->
es kann eine dieser sein: ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector
da alle durch das Interface die gleichen Methoden besitzen MUSS

welche verwendet wird ist nun unabhängig und variable vom Framework aus
und du als nutzer des FW bist nicht gezwungen eine ArrayList zu nutzen


ps. soweit ja du hast recht, wenn du ein interface als deklaration nutzt kannst du nur auf die darin definierten funktionen zugreifen.
die implementierung hat dann jedoch nichts mehr damit zu tun, so kommt es zu den laufzeit unterschieden wie dein clear
das jeweilige letztlich genutzt objekt kann jedoch tolle andere funktionen noch besitzen die im interface nicht vorhanden sind ergo für dich unbekannt
--> darum musst du genau wissen was du zum schluß nutzt
das List interface besitzt alle nötigen funktionen die man braucht um ne bestimmte Liste zu nutzen
hinzufügen löschen leeren ..... usw. wenn es dir reicht bleib bei list dann ist es variabler du kannst einfacher eine mehrzahl an objekte austauschen und verarbeiten
benötigst du aber wirklich bestimmte funktionen dann musst du gezwungener maßen eine spezielle implementation nutzen und kannst nicht mehr einfach tauschen
 
Zuletzt bearbeitet:

ratnalein

Mitglied
Hallo Daassan,

danke für die Info.. was in meinem vorigen Beitrag steht, stimmt aber oder?
Ich meine, man kann natürlich z.B. folgendes definieren:
Java:
public class eigeneListe implements List{
     clear(){
         // tue was
         // Diese Methode stammt aus List
        }

     eigeneMethode(){
        // tue was        
        // tue was
        }
}

... void methode...
List meineListe = new TreeList();
meineListe.clear();
meineListe.eigeneMethode(); //hier meckert der Compiler, da es eigeneMethode() in TreeList nicht gibt.

Hingegen funktioniert folgendes:
Java:
... void methode...
List meineListe = new eigeneListe();
meineListe.clear();
meineListe.eigeneMethode();

Das heißt, sobald man eigeneMethode() braucht, muss meineListe ein Objekt von eigeneList referenzieren. Also, für diesen KLEINEN Anwendungsfall gibt es scheinbar keinen Vorteil, ob man:

List meineListe = new TreeList();
oder
eigeneListe meineListe = new TreeList();

verwendet. Denn, so oder so muss umgeändert werden, sobald meineListe die Methode eigeneMethode() aufrufen will.

Stimmt es soweit?

Ich gehe davon aus, dass es wirklich Anwendungskonstellationen gibt, bei denen die Variante
List meineListe = new TreeList();
Vorteile bringt.

Ist diese Annahme richtig?

Vielen Dank.

Schöne Grüße aus Rheinland,

Eure Ratna
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Mal was anderes... ist irgendjemandem Aufgefallen, dass das Engangbeispiel des TO nich wirklich sinnvoll ist? Evtl. ists ja deswegen auch mehr oder weninger unverständlich...
So würde es Sinn ergeben... (Mit anderen Worten: Ja, deine Annahme ist richtig.)
[Java]interface Greeting {
public void sayHello();
}

class GermanGreeting implements Greeting {
public void sayHello() {
System.out.println("Hallo");
}
}

class EnglishGreeting implements Greeting {
public void sayHello() {
System.out.println("Hello");
}
}[/code]Jetzt sei nur das Interface bekannt und evtl. noch eine Factory dafür.
Java:
class GreetFactory {
  public static Greeting getGreeting(Locale locale) {
    String loc = locale.toString().toUpperCase();
    if(loc.contains("DE") {
      return new GermanGreeting();
    }
    return new EnglishGreeting();
  }

  public static void main(String[] args) {
    Greeting gr = GreetFactory.getGreeting(Locale.getDefault());
    gr.sayHello();
  }
}
 

ratnalein

Mitglied
Hallo zusammen,

@Spacerat
super, danke.. :toll:ich hab deinen Code mir angeschaut, mal eine Anwendung, wo die Referenzvariable (gr) mit Datentyp aus Interface auch "gut" sein kann. Und das tolle ist, ich habe den Code verstanden. :idea: Ich bin jetzt glücklich.

Vielen Dank.

Schöne Grüße aus Rheinland,

Eure Ratna:)
 
S

Spacerat

Gast
...mal eine Anwendung, wo die Referenzvariable (gr) mit Datentyp aus Interface auch "gut" sein kann...
Mal ist gut... Gewöhn's dir an noch viel besser... ;) Es gibt unzählig viele Bereiche, wo Interfaces geeignet sind. Schlimmer noch, es gibt sogar Bereiche, wo man besser von Anfang an Interfaces verwendet haben sollte (z.B. AWT und Abkömmlinge).
 

TheDarkRose

Gesperrter Benutzer
verwendet. Denn, so oder so muss umgeändert werden, sobald meineListe die Methode eigeneMethode() aufrufen will.

Schlechtes Beispiel. Wenn du weißt du brauchst eine spezielle Methode, die das Interface nicht hat, nimmt man auch die Implementierung. Spezielle Liste, etc.

Kommt man aber mit den Standardmethoden von List aus, sollte man auch immer nur gegen das Interface programmieren. Besonders wenn man die Verwendung in Methodenparametern und Rückgabewerte beachtet. Denn sollte man den Listentyp ändern wollen (wegen Performance oder anderen), dann muss man bei entwickeln gegen das Interface nur bei der Initialisierung den Typ umschreiben.
Hat man dies aber nicht gemacht und in sage mal 100 Methoden z.B. ArrayList verwenden, viel Spaß beim umschreiben. Oder sicherstellen, das keine Methoden verwendet wurden, die es nicht in der anderen Liste gibt.
 

ratnalein

Mitglied
:Dmach mich nicht schwach.. och jee.. weiss nicht ob Informatik noch der richtige Studiengang ist, wenn ich bei dieser Thematik schon Problem habe;(

mhh.. ich weiss nicht, ob es zu viel verlangt ist, könntest Du dir vielleicht ein Beispil ausdenken, wo ein kleines Umändern von zum Beispiel:

Java:
Greeting gr = new GermanGreeting();

auf

Java:
Greeting gr = new EnglishGreeting();
gut ist?


Weil, laut:
List myList = new ArrayList(); // programming to the List interface

instead of

ArrayList myList = new ArrayList(); // this is bad
These look exactly the same in a short program, but if you go on to use myList 100 times in your program you can start to see a difference. The first declaration ensures that you only call methods on myList that are defined by the List interface (so no ArrayList specific methods). If you've programmed to the interface this way, later on you can decide that you really need

List myList = new TreeList();
and you only have to change your code in that one spot. You already know that the rest of your code doesn't do anything that will be broken by changing the implementation because you programmed to the interface

muss es eigentlich so ein Beispiel geben. Aber wenn es Dir dazu nichts einfällt, ist kein Problem. Es ist wahrscheinlich zu viel verlangt.

Schönen Dank.

Schöne Grüße aus Rheinland,

Eure Ratna:)
 
Zuletzt bearbeitet:

TheDarkRose

Gesperrter Benutzer
Dir kann es im restlichen Programm egal sein, welches Greeting verwendet wird. Somit kannst du die Sprache an einer einzigen Stelle ändern. Schöner ist es eben noch mit der Factory von Spacerat. OOP halt ^^
 
S

Spacerat

Gast
Versuch' mal "<SortedSet<Object>>.higher(Object current)"... oder nee, vergiss es, das wird eh' nichts. Und jetzt stell dir vor, du hättest in 1000 Programmzeilen diese spezielle TreeSet-Methode verwendet und TreeSet erfüllt nun plötzlich die Vorraussetzungen nicht mehr (warum auch immer), weswegen sie durch ein anderes SortedSet ausgetauscht werden muss.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Datentypen Wertebereiche passender Datentyp Java Basics - Anfänger-Themen 5
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
H Datentyp mit 3 Zuständen Java Basics - Anfänger-Themen 42
javaluke Erste Schritte Array nach Datentyp sortieren Java Basics - Anfänger-Themen 16
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
A Datentyp char Java Basics - Anfänger-Themen 27
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
C unverständlicher Code Attribute ohne Datentyp, wie geht das? Java Basics - Anfänger-Themen 8
T Datentyp mit Anführungszeichen drinnen Java Basics - Anfänger-Themen 3
R Datentypen Datentyp String lenght & charAT Java Basics - Anfänger-Themen 4
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
C Interface als Datentyp eines Attributes? Java Basics - Anfänger-Themen 6
B Datentypen Datentyp welcher den gleichen Namen wie die Klasse trägt? Java Basics - Anfänger-Themen 1
D Datentypen Welcher ist der beste Datentyp? Java Basics - Anfänger-Themen 28
F Datentypen Missverständnis Datentyp Java Basics - Anfänger-Themen 2
D Rechnen mit numerischen Datentyp Frage Java Basics - Anfänger-Themen 16
E Klassename als Datentyp??? Java Basics - Anfänger-Themen 4
F Wertebereich/Datentyp Java Basics - Anfänger-Themen 26
M Datentypen Java Datentyp Definition Java Basics - Anfänger-Themen 6
MiMa Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
Z Was habe ich davon mit einem Datentyp verschiedene Instanzen zu haben? Java Basics - Anfänger-Themen 6
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
E Datentypen Benutzerdefinierten Datentyp verwenden Java Basics - Anfänger-Themen 1
ms_cikar Java Datentyp unwandlung Java Basics - Anfänger-Themen 7
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Y Warum void statt Datentyp + return Java Basics - Anfänger-Themen 4
M Interface als Datentyp Java Basics - Anfänger-Themen 12
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
1 Neuen Datentyp für rationale Zahlen als Klasse entwickeln Java Basics - Anfänger-Themen 20
R Datentypen Datentyp eines Werts in einer Textdateizeile abfragen und ändern Java Basics - Anfänger-Themen 4
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S Primitiver Datentyp Short , Vorteil/Nachteil Betrachtung Java Basics - Anfänger-Themen 6
J Field auf Datentyp prüfen Java Basics - Anfänger-Themen 8
D Datentyp Object Java Basics - Anfänger-Themen 2
A Datentypen Mehrdimensionaler Datentyp gesucht Java Basics - Anfänger-Themen 4
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
F Klassenorganisation: Datentyp in Datentyp anlegen Java Basics - Anfänger-Themen 3
N Unerklärlich: Rekursiver Algorithmus gibt falschen Datentyp zurück... Java Basics - Anfänger-Themen 4
J Datentypen Was ist der Sinn vom Datentyp "char" ? Java Basics - Anfänger-Themen 11
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
Binary.Coder Welcher Datentyp für den Simplex Algorithmus Java Basics - Anfänger-Themen 3
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
B Datentyp für +,-,*,/ Java Basics - Anfänger-Themen 5
D Datentypen Rekursiver Datentyp Java Basics - Anfänger-Themen 8
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
M Array mit komplexem Datentyp Java Basics - Anfänger-Themen 9
M 2 Arrays mit komplexen Datentyp vergleichen Java Basics - Anfänger-Themen 8
G Datentypen Welcher Datentyp Java Basics - Anfänger-Themen 2
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
J Datentypen Datentyp für Datum Java Basics - Anfänger-Themen 23
B Java Bean, JSP, Komplexer Datentyp Java Basics - Anfänger-Themen 3
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
E Datentyp Array Java Basics - Anfänger-Themen 10
M Datentypen Eigenen Datentyp toArray() Java Basics - Anfänger-Themen 4
A Datentyp Char wird in BlueJ nur als leerer weißer Kasten dargestellt Java Basics - Anfänger-Themen 1
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
F Datentyp Number???? Java Basics - Anfänger-Themen 2
A einlesen, schreiben, umwandlung datentyp Java Basics - Anfänger-Themen 10
A Datentyp mit String festlegen? Java Basics - Anfänger-Themen 13
D Generischer Datentyp Java Basics - Anfänger-Themen 2
D Datentyp: Liste von String->Double dingern Java Basics - Anfänger-Themen 4
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
C Datentyp von einer Variablen ermitteln. Java Basics - Anfänger-Themen 12
M Datentyp Parameter Java Basics - Anfänger-Themen 18
R Welchen Datentyp verwenden? Java Basics - Anfänger-Themen 12
B Datentyp anlegen Java Basics - Anfänger-Themen 6
M Eigene Klasse mit "Enumeration"-Datentyp verknüpfe Java Basics - Anfänger-Themen 16
K Datentyp Problem Java Basics - Anfänger-Themen 2
X Rekursion & Generischer Datentyp Java Basics - Anfänger-Themen 11
A neuen Datentyp (Digit) definieren Java Basics - Anfänger-Themen 12
A Datentyp String in char umwandeln Java Basics - Anfänger-Themen 3
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
D Superinterface als Datentyp Java Basics - Anfänger-Themen 5
E Generischer Datentyp und Arrays Java Basics - Anfänger-Themen 3
Z ArrayList<Entry<Datentyp, Integer>> ? Java Basics - Anfänger-Themen 12
L Datentyp Problem Java Basics - Anfänger-Themen 7
F Datentyp eines Inputs überprüfen Java Basics - Anfänger-Themen 2
NightmareVirus Datentyp des Arrayinhalt abfragen Java Basics - Anfänger-Themen 4
S Probleme mit Datentyp beim Einlesen Java Basics - Anfänger-Themen 4
C Datentyp byte Java Basics - Anfänger-Themen 22
G Java Problem [Datentyp] Java Basics - Anfänger-Themen 10
B Datentyp char -> Zeichen um einen Wert erhöhen Java Basics - Anfänger-Themen 12
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
S Datentyp aus 3 longs Java Basics - Anfänger-Themen 3
M datentyp ausfindig machen Java Basics - Anfänger-Themen 2
C Eigenen Datentyp schreiben Java Basics - Anfänger-Themen 13
T Probleme mit Datentyp Double Java Basics - Anfänger-Themen 4
W Datentyp Zahlen sortieren Java Basics - Anfänger-Themen 12
B Datentyp gesucht Java Basics - Anfänger-Themen 5
J Datentyp einer Klasse bei Anwendung von implements Java Basics - Anfänger-Themen 4
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
M Linkedlist, wert auf datentyp prüfen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben