Verwendung von this in statischen Kontext nicht möglich

Status
Nicht offen für weitere Antworten.
F

FreddyRincon

Gast
Hallo!
Ich komme mit der Objektorientierung noch nicht so ganz klar...
Folgendes Problem:
Ich möchte in einer Methode namens "lesen" eine Datei lesen.
Der Name der Datei soll abhängig vom aktuellen Objekt sein.
Ich wollte folgendermaßen ein FileReader-Objekt erzeugen:
Code:
FileReader file = new FileReader(this.getDateiname);
Der Kompiler meckert an, dass die Verwendung von this in einem statischen Kontext nicht möglich sei.

Ein paar Erläuterungen dazu:
Objekt heißt "Spieltag"
Die Datei heißt "Spieltag01"
Der Konstruktor des Objekts bekommt die Spieltagsnummer übergeben und beinhaltet u. a. die Zeile this.setDateiname().
Dort wird der Dateiname aus der Spieltagsnummer zusammengebaut und in einer Objektvariable gespeichert.

Wie kann (sollte) ich das Problem lösen?
Danke!
Uli

PS. Kann mir jemand eine schöne Adresse nennen, wo ich Beispiele und Informationen über Dateiverarbeitung bekomme?
 
G

Guest

Gast
Was ist denn in diesem Zusammenhang statisch?
Die Methode "getDateiname" ist doch gar nicht als static deklariert.
:?:
 
R

Roar

Gast
nein die methode eben nicht. das ist ja das problem. aber der teil des codes wo der aufruf geamcht wird. und das geht ja logisch gar nicht. angenommen du hast eine Klasse Car, ein Objekt was man in der hand halten kann. und das hat eine methode getWheelCount() welches dir die anzahl der räder zurückliefert (es kann ja mal eins abfallen :-/). und dann eine statische methode getCarFactory() die dir eine fabrik zurückliefert. wie willst du dann die anzahl der räder zählen ohne ein Auto zu haben? dat geht nicht. darum kannst du von statischen methoden nicht auf nicht-statische methoden zugreifen.
 
F

FreddyRincon

Gast
Das verstehe ich immer noch nicht ganz. Wozu ist denn dann "this" gut?
Ich rufe doch die Methode beispielsweise auf indem ich schreibe: aktSpieltag.lesen();
Ich dachte immer, dass sich "this" innerhalb der Methode "lesen" auf das Objekt "aktSpieltag" bezieht, welches ja bereits im Speicher existiert und konkret beispielsweise ein Spieltag mit der nummer 1 und dem dateinamen "Spieltag01" darstellt.
Dann verstehe ich nicht warum innerhalb der Objektmethode "lesen" nicht auf das konkrete Objekt über "this" verwiesen werden kann.
Tut mir leid wenn ich nerve, aber ich glaube ich muss das Thema verstehen, sonst kann ich gleich aufhören ;-)

Auf alle Fälle schon mal Danke für deine bisherige Hilfe!
Uli
 

Illuvatar

Top Contributor
Wenn du innerhalb einer Klasse nicht-statische Methoden hast, die zu einem Objekt gehören, kannst du dich in diesen mit this auf das aktuelle, eigene Objekt beziehen.
 
B

Beni

Gast
Dein Code wird in ungefähr so aussehen:

Code:
public class MyClass{
  public static void main( String[] args ){
    doSomething();
  }

  public static void doSomething(){
     FileReader file = new FileReader(this.getDateiname());  // funktioniert nicht
  }
  ...
}

Aber damit das funktioniert, musst du eher sowas haben:

Code:
public class MyClass{
  public static void main( String[] args ){
    MyClass mc = new MyClass();
    mc.doSomething();
  }

  public void doSomething(){   // beachte: es hat kein static mehr!
     FileReader file = new FileReader(this.getDateiname());  // funktioniert (falls getDateiname existiert...)
  }
  ...
}

mfg Beni
 
F

FreddyRincon

Gast
Oh sorry :oops:!
Ich habe meinen Fehler gefunden. Er ist so wahnsinnig dumm, dass es selbst mir zu peinlich zu sagen wo er steckt ;-)

Auf alle Fälle Danke für die nette Hilfe. Ist ein tolles Forum :D !
Uli
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Verwendung jna Java Basics - Anfänger-Themen 15
L Zufälligen Zahlencode, ohne mehrfacher Verwendung einer Ziffer Java Basics - Anfänger-Themen 15
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
S Try-Catch in Verwendung einer while Schleife Java Basics - Anfänger-Themen 2
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
kilopack15 Verständnisfrage zur Verwendung von notify() bei Threads Java Basics - Anfänger-Themen 2
b1ck Scanner schließen, erneute Verwendung Java Basics - Anfänger-Themen 12
H Datentypen Fehler bei Verwendung von enum Java Basics - Anfänger-Themen 9
A Verwendung von Interfaces Java Basics - Anfänger-Themen 7
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
M Verwendung von System.exit(0) problematisch? Java Basics - Anfänger-Themen 1
D native Methoden, Verwendung? Java Basics - Anfänger-Themen 8
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
G verwendung von regex Java Basics - Anfänger-Themen 3
K Problem bei der Verwendung von Gregorian Calender Java Basics - Anfänger-Themen 3
T NullPointerException bei Verwendung einer Klasse einer anderen .jar datei Java Basics - Anfänger-Themen 3
B Wie wichtig ist Verwendung von StringBuffer in Schleifen? Java Basics - Anfänger-Themen 10
B Verwendung von Arrays Java Basics - Anfänger-Themen 2
U Verwendung von Interface Java Basics - Anfänger-Themen 33
A Methoden Verwendung von crypt? Java Basics - Anfänger-Themen 2
D Muss ich eigentlich immer auf die Verwendung des richtigen Datentyps achten? Java Basics - Anfänger-Themen 7
D reg Exp, verwendung des endezeichen "$" Java Basics - Anfänger-Themen 5
C Verwendung von Schleifen? Java Basics - Anfänger-Themen 18
J Datentypen Array - Verwendung im Konstruktor Java Basics - Anfänger-Themen 8
C Verwendung von primitiven Datentypen Java Basics - Anfänger-Themen 8
J Problem mit NullPointerException bei Verwendung eines Arrays Java Basics - Anfänger-Themen 6
D Frage zur Verwendung einer Schnittstelle Java Basics - Anfänger-Themen 4
A Verwendung von abstrakten Klassen Java Basics - Anfänger-Themen 17
D Verwendung der Klasse Map Java Basics - Anfänger-Themen 9
C Verwendung von Matrizen in einer Schleife Java Basics - Anfänger-Themen 5
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
Daniel_L Verwendung von try und catch bei exceptions Java Basics - Anfänger-Themen 7
I Verwendung von Constant Field Values Java Basics - Anfänger-Themen 4
J Verwendung von eigenen Klassen in JSP Java Basics - Anfänger-Themen 2
G try. catch Verwendung Java Basics - Anfänger-Themen 11
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
H Verwendung lokaler Einstellungen Java Basics - Anfänger-Themen 4
G getName, substring Verwendung Java Basics - Anfänger-Themen 3
I Fehler bei Verwendung von substring Java Basics - Anfänger-Themen 4
S Verwendung von Super Java Basics - Anfänger-Themen 7
M Verwendung von Robot... wie? Java Basics - Anfänger-Themen 6
M Verwendung von "this" Java Basics - Anfänger-Themen 2
U Liste importieren und für weitere Verwendung sichern Java Basics - Anfänger-Themen 4
feuervogel Integral unter Verwendung der Java-Bibliothek berechnen Java Basics - Anfänger-Themen 10
frau-u Probleme mit richtiger Verwendung von FileInputStream Java Basics - Anfänger-Themen 2
S valueOf() vs. toString() Verwendung??? Java Basics - Anfänger-Themen 13
A Kurze Frage zur Verwendung von this Java Basics - Anfänger-Themen 9
S Verwendung bitweiser Operatoren Java Basics - Anfänger-Themen 6
M Aufruf von statischen Methoden einer anderen Klasse Java Basics - Anfänger-Themen 15
Junger_Basileus Celsius -> Fahrenheit / Strukturierung in statischen Methoden Java Basics - Anfänger-Themen 7
D Aufruf einer statischen Variable Java Basics - Anfänger-Themen 1
K Compiler-Fehler Objektmethode aus einer statischen Methode heraus aufrufen Java Basics - Anfänger-Themen 34
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
Shams Synchronized-Schlüsselwort bei Inkrementierung einer statischen Variable Java Basics - Anfänger-Themen 13
A Nicht-statische Methode in einer statischen aufrufen Java Basics - Anfänger-Themen 10
T Dynamisches abarbeiten von statischen Methode aus verschiedenen Klassen. Java Basics - Anfänger-Themen 5
A Klassennamen im statischen Umfeld Java Basics - Anfänger-Themen 14
N OOP Zugriff auf eine Objekt innerhalb einer Klasse aus statischen Methoden Java Basics - Anfänger-Themen 9
S Gutes Design mit statischen oder Member-Methoden Java Basics - Anfänger-Themen 53
A Parameterübergabe zwischen statischen und nicht statischen Klassen Java Basics - Anfänger-Themen 6
hdi Lebensspanne von statischen Variablen Java Basics - Anfänger-Themen 7
A non-static Methode ausführen in statischen Kontext Java Basics - Anfänger-Themen 17
R Properties über statischen Pfad laden Java Basics - Anfänger-Themen 2
G Warum hat Java keinen statischen Konstruktor? Java Basics - Anfänger-Themen 5
G Problem mit nicht statischen Funktionen Java Basics - Anfänger-Themen 7
S Ergebnisse aus statischen Methoden weiterverwenden Java Basics - Anfänger-Themen 5
M Problem mit nicht statischen Methoden Java Basics - Anfänger-Themen 6
T getClass() im static Kontext Java Basics - Anfänger-Themen 12
G WindowListener in statischem Kontext.aber wie? Java Basics - Anfänger-Themen 6
H warum ist dieses Kontext static? Java Basics - Anfänger-Themen 5
T in statischem Kontext auf nicht statische Variable beziehen Java Basics - Anfänger-Themen 5
S Kontext oder wie nennt man das ? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben