Aussage?

lo

Mitglied
hey,
ich verstehe nicht, was der folgende Code macht, kann mir da jmd helfen?

class1 ist eine Klasse
object ein Objekt einer weiteren Klasse (class2)
methode eine Methode in der class1

Java:
((class1) object.methode1();
 
Zuletzt bearbeitet:

Sasuke

Mitglied
Hey,

das was du da hast macht Fehler ausspucken. Ich stelle die Behauptung auf, dass du

Java:
 ((class1) object).methode1();

meinst.

Dies nennt sich Typecasting(Typumwandlung – Wikipedia). Du behauptest damit, dass 'object' eine Instanz der Klasse 'class1' ist und somit auch über 'methode1' verfügt und diese von diesem aufegrufen werden kann.

Bevor du soetwas machst empfiehlt sich eine Prüfung durch:

Java:
 if( object instanceof class1 )

Nebei solltest du dir mal die Java Coderichtlinien ansehen: Code Conventions for the Java Programming Language: 9. Naming Conventions

Mfg
Sasuke
 

unknown

Bekanntes Mitglied
Hallo
Das nennt sich "Casten". Es ist eine Typumwandlung.
In deinem Beispiel sollte "methode1" irgendeinen Typ zurückgeben und du wandelst ihn dann in den Typ "class1".
Übrigens, du hast aussen links eine Klammer zu viel.
 

lo

Mitglied
Das hieße ja in diesem Fall (siehe Bild), das alle Objekte zum Typ FederationShip gecastet werden, oder?

Und kann es sein, dass Casten eine Andere Auwirkung auf Variablen als auf Objekte im Falle der Vererbung hat?
 

Anhänge

  • WP_20150325_003.jpg
    WP_20150325_003.jpg
    53 KB · Aufrufe: 44
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Das hieße ja in diesem Fall (siehe Bild), das alle Objekte zum Typ FederationShip gecastet werden, oder?
Na sicher ... oder flapsig ausgedrückt: jeder einzelne Cast ist ein Cast :bae:

Und kann es sein, dass Casten eine Andere Auwirkung auf Variablen als auf Objekte im Falle der Vererbung hat?
Bitte was ?? :bahnhof:
Was genau meinst Du ?

Gruß Klaus
 

Saheeda

Top Contributor
@Io
Wenn ich mir deine anderen Themen so anschaue, solltest du dich vielleicht noch nicht mit Casten beschäftigen, sondern erstmal erstehen, wie Objekte erzeugt werden, auf Variablen/Methoden zugegriffen wird und wie Vererbung ganz allgemein funktioniert.
Durch explizite Typumwandlungen wie beim Casten erzeugst du dir einige neue Fehlerquellen und Stolpersteine und kannst irgendwann nicht mehr differenzieren, ob das Problem jetzt an der Typumwandlung liegt oder irgendwo anders.

Lodoss hatte hier mal ein schönes Beispiel geschrieben: http://www.java-forum.org/allgemeine-java-themen/165416-fertiges-programm-fehler.html#post1048286

Just my two cents.
 

kaoZ

Top Contributor
Wenn ich mir das so anschaue , sieht es aus als hätte er einen Test geschrieben und absolut keinen Plan was er da eigentlich macht ...... aber das ist anhand des beigefügten Handyfotos eine wage Vermutung.... ;)

Es ist natürlich durchaus möglich das ich mich irre, und der TO uns eines besseren belehren wird, falls dem so sein sollte, beachtet mich einfach nicht weiter ;)
 
Zuletzt bearbeitet:
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben