1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Ich werde net schlau aus java....

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Bilbao, 23.08.08.

  1. Bilbao

    Bilbao Wohlschmecker aus Vierlanden

    Dabei seit:
    25.01.06
    Beiträge:
    238
    Hi Leute ich hab mal wieder ein Problem

    Ich hab eine Klasse Auto mit einer methode drucken()

    Ich hab eine Klasse Cabrio die von Auto erbt... auch mit einer methode drucken()

    wenn ich jetzt aber ein Objekt der Klasse Cabrio erstelle und dann cabrio1.drucken() mache...
    ruft er nicht die Cabrio drucken methode auf sonder aus irgendeinem Grund die Auto drucken methode...

    Kann mir das einer erklären?

    ich hänge mal die Dateien mit ran (da ist auch noch ne datei AutoUI die im endeffekt die main methode hat (fragt net warum das da alles ein wenig kompliziert geschrieben ist aber ich kanns net besser :p))
     

    Anhänge:

  2. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Das liegt am Tippfehler der Methode "drucken()" in Deiner Cabrio.java. Das war's schon. ;)
     
  3. Bilbao

    Bilbao Wohlschmecker aus Vierlanden

    Dabei seit:
    25.01.06
    Beiträge:
    238
    Wie ich sowas hasse da programmiert man programmiert man... und dann ist es sowas warum es nicht geht und man sieht so etwas bannales nicht mehr... trotzde vielen vielen dank
     
  4. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Programmierst Du mit einer IDE?

    Ich persönlich mag zwar Texteditoren wie dem VI am liebsten zum Programmieren, aber ohne IDE-Funktionalitäten wie Autovervollständigung von Methoden- und Objektnamen und so weiter hätte ich auch schon öfters alt ausgesehen.

    Probier doch mal Eclipse aus.
     
  5. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    Um solche Fehler zu vermeiden würde ich auch empfehlen die @Override Annotation zu verwenden. (ab Java 1.5)


    also in der Klasse Cabrio:

    @Override
    public void drucken() {...}


    Dann würdest du einen Compile-Fehler bekommen, wenn du dich vertippst.

    @Override
    public void durcken() {...}

    wird gar nicht mehr kompilieren.

    @Override gibt dem Compiler einen Hinweis, dass du eine Methode überschreiben willst. Wenn es in der Parent-Klasse (in deinem Fall Auto) keine Methode mit der gleichen Signatur gibt, wird deine Child-Klasse (Cabrio) nicht kompiliert.
     
  6. Bilbao

    Bilbao Wohlschmecker aus Vierlanden

    Dabei seit:
    25.01.06
    Beiträge:
    238
    das ist ja mal ein geiler tipp hehe danke :) werde es mir einprägen :) mit dem override


    zum Thema IDE....
    Ich habs mal mit Eclipse schon mal versucht... ich fands ein wenig überladen... Ich mag das nicht wenn tausend Sachen links und rechts neben dem Sourcecode sind das macht es irgendwann nicht mehr übersichtlich...
     
  7. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Hm...

    Nun ja, entweder Du klickst die tausend Sachen links und Rechts weg, so dass Du nur noch das siehst was Du brauchst (Eclipse ist stark anpassbar) oder Du gewöhnst Dich dran.

    Ich habe früher zum Programmieren nur ein paar Konsolenfenster benutzt. Aber auf der Arbeit hab ich dann an Projekten mitgearbeitet, in denen man mit über hundert eigens programmierten Klassen umgehen musste und dann kannste sowas wie "Übersicht" ohne eine IDE die Dir hilft, wirklich vergessen...

    Dort ist das wirklich ein Segen, wenn Du den Namen eines Objekts eingibst, mit dem Du arbeiten willst, und die IDE Dir Funktionsnamen vorschlägt und Dir sogar sagt, was da für einzelne Parameter rein sollen. :)
     
  8. appahappa

    appahappa Ingrid Marie

    Dabei seit:
    28.03.07
    Beiträge:
    270
    Ich würde sagen, dass einem einiges an Produktivität verloren geht, wenn man ohne eine gute IDE entwickelt. Alleine schon die ganzen Hinweise, die man bekommt sind Gold wert, Code completion usw. Und man vermeidet jede Menge Fehler. Auch ist es viel einfacher durch den Code zu navigieren. Wenn ich z.B. eine Methode irgendeiner Klasse aufrufe und mir diese Methode anschauen will, kann ich schnell dahin springen. Das ist wirklich wichtig, vor allem wenn man mit vielen Leuten an einem grösseren Projekt arbeitet und nicht alle Klassen und Methoden im Kopf hat.
     

Diese Seite empfehlen