Compiler spinnt !?!?

  • Themenstarter Themenstarter Roar
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
R

Roar

Gast
hallo,
hier gibts eine kleine meinungsverschiedenheit zwischen mir und meinem compiler :evil: .
der compiler sagt, dass meine variablen(protected final) initialisiert werden müssen, obwohl ich sie gar nicht benutze. ich sag aber: wieso denn bitte?
hier:
Code:
    protected final JPanel dataPanel;
    protected final JTable tab;
//.... und so weiter
// hier ist n konstruktor...
// und noch einer:
 public ProjectFrame( ProjectData pd ) {
        this.projectData = pd;
    } // hier und beim ersten konstruktor an der gleichen stelle kommt der error dass dataPanel initialisiert werden muss

wieso denn? weil die protected sind, oder was?
 
Kannst du mir einen vernünftigen Grund nennen:

Warum oder wozu man eine nicht initialisierte Variable braucht, die nie
mehr verändert werden kann und vom Typ zum Beispiel JPanel ist?

oder

Wieso definiertst du eigentlich Variablen die du nie benutzt?

Sorry, aber bei allem Forschungs- und Ausprobierdrang will mir das nicht in den Kopf.
Das beleidigt doch jeden klaren Verstand.

Vielleicht beziehst du dich auch auf folgenden Satz im Java Tutorial von Sun.
http://java.sun.com/docs/books/tutorial/post1.0/converting/languageChanges.html
You can defer initialization of a final field or variable, as long as you initialize it before it is used and assign a value to it exactly once.

Wenn du weiter liest stellst du fest, dass Sun auch schreibt:
Deferred initialization can be useful when the proper value can only be calculated by a loop or other code that is hard or impossible to encode in a variable initializer, such as code that throws exceptions that must be caught and handled.

Man bedenke, dass Exceptions keine Fehler sind. Sondern vielmehr ein gültiger Zustand indem sich die Anwendung befindet, welcher aber vom normalen Programmablauf abweicht und deshalb besonders behandelt werden muss.
 
@Beni: aussem jdk1.4.2
@Rene: ich weiß zwar nicht wie du programmierst, aber wenn ich programmiere dann kompilier ich zwischendurch mal. du nicht? und wenn zu diesem zeitpunkt die variable halt noch nicht initialisiert werden muss, dann wird sie auch nicht initialisiert. hast du daran vielleicht schon gedacht? dass ich die variable im moment nicht brauche, aber sie trotzdem deklariere? naja... ich will am besten auch nicht wissen wie du normalerweise programmierst, aber ich schreib keine 800 zeilen bzw. kopiere 800 keine zeilen und schreib sie um, ohne mal zwsichendurch zu kompilieren.

@Beni: ich denke es liegt an dem protected.. naja mach ich sie halt private

edit:
Das beleidigt doch jeden klaren Verstand.
:shock: *lol*
dito
 
hab ich ja zum kompilieren, aber werd ich ja wieder entkommentieren müssen später.. dann mach ich sie private. daran liegt's wohl. danke für die guten antworten (<- Das war ironisch für alle die ohne klaren Verstand )
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben