Methoden können nicht auf Instanzvariable der Klasse zugreifen

C

cookiedough

Mitglied
Hallo zusammen,

wie der Titel bereits verspricht ist es im folgenden Programmcode nicht möglich, dass Methoden auf die Instanzvariable der Klasse zugreifen.

Java:
public class MaxiMinimalwert_ermitteln {

    // Die Methode kann nicht auf die Instanzvariablen (Zeile 4 und 5) zugreifen.
    int zahlenstrang[] = {7, 5, 9, 2, 0, 10};
    int max = zahlenstrang[0];  
    int min = zahlenstrang[0];

    public static void main(String[] args) {
        System.out.println("Max ist " + methodeMax());      
        System.out.println("Min ist " + methodeMin());
    }

  
public static int methodeMax() {
        for (int i = 0; i < zahlenstrang.length; i++) {
            if (zahlenstrang[i] > max) {
                max = zahlenstrang[i];
            }
        }
        return max;
    }

public static int methodeMin() {
        for (int i = 0; i < zahlenstrang.length; i++) {
            if (zahlenstrang[i] < min) {
                min= zahlenstrang[i];
            }
        }
        return min;
    }
}

Ich habe bereits probiert, die Instanzvariablen der Klasse in die Methode hineinzuschreiben. Dann funktioniert das Programm.

Wenn ich mehrere Methoden habe möchte ich die Instanzvariablen nicht jedesmal in die jeweilige Methode schreiben.

Könnt ihr mir bitte helfen und mitteilen was im Programmcode geändert werden muss, damit ich nur einal die Instanzvariablen habe und alle Methoden darauf zugreifen können.?
 
Zuletzt bearbeitet:
kneitzel

kneitzel

Top Contributor
Das Problem ist, dass Deine Methoden beide static sind und die Variablen sind Instanzvariablen. Erstere existieren in der Klasse, letzte in der Instanz.
Eine Instanz deiner Klasse erzeugst Du aber nie.

Du kannst die Instanzvariablen zu klassenvariablen machen, d.h. auch dort ein static verwenden. Das entspricht aber in keiner Weise der objektorientierten Denkweise. Aber die ganze Aufgabenstellung / Lösung in in keine Weise objektorientiert, so dass da prinzipiell nichts dagegen spricht - außer eben, dass man dies später so auf keinen Fall machen sollte.

Die andere Möglichkeit wäre, dass Du eine Instanz Deiner Klasse erzeugst. Das wäre dann z.B. etwas wie:
Java:
public class Maximalwert_ermitteln {
  
    // Die Methode kann nciht auf die Instanzvariablen (Zeile 4 und 5) zugreifen.
    int zahlenstrang[] = {7, 5, 9, 2, 0, 10};
    int max = zahlenstrang[0];

    public static void main(String[] args) {
        Maximalwert_ermitteln maxWertErmitteln = new Maximalwert_ermitteln();
        System.out.println("Max ist " + maxWertErmitteln.methodeMax());
    }

    public int methodeMax() {
        for (int i = 0; i < zahlenstrang.length; i++) {
            if (zahlenstrang[i] > max) {
                max = zahlenstrang[i];
            }
        }
        return max;
    }
}

Und dann ggf. die Namenskonventionen beachten. Da sollte man keine _ haben. Statt dessen wäre das eher ein Name wie MaximalwertEmitteln - das nennt sich dann PascalCase.
 
C

cookiedough

Mitglied
Danke, das hat mir sehr weitergeholfen.

Anstelle PascalCase wurde mir der Begriff UpperCamelCase beigebracht ;)
 
kneitzel

kneitzel

Top Contributor
Ja, die Begriffe gibt es beide. Wie man es nennt, ist relativ egal und da man auf beide Begriffe stößt, sollte man durchaus beide einordnen können.

Aber es freut mich, dass ich Dir weiter helfen konnte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Methoden können nicht verwendet werden Java Basics - Anfänger-Themen 10
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
T können überschriebene methoden andere zugruffsrechte besitze Java Basics - Anfänger-Themen 2
H Methoden in anderen Methoden aufrufen Java Basics - Anfänger-Themen 4
K Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6
veryck Methoden Rekursive Methoden mit Rückgabeparameter Java Basics - Anfänger-Themen 9
P Methoden aufrufen - Fehler Java Basics - Anfänger-Themen 20
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
C eigene Methoden erstellen (Instanzmethoden) Java Basics - Anfänger-Themen 7
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
C Taschenrechner (switch) in Taschenrechner mit Methoden umwandeln Java Basics - Anfänger-Themen 115
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Generics Methoden Java Basics - Anfänger-Themen 7
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
S throws bei Methoden Java Basics - Anfänger-Themen 4
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
C Methoden-Parameter ist Interface Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
S Übergabe von Arrays an Methoden Java Basics - Anfänger-Themen 20
L Methoden Wie Löse ich ext Methoden Aufruf Fehler? Java Basics - Anfänger-Themen 3
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
B Methoden Ausgeben Aufgabe Java Basics - Anfänger-Themen 15
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
T Methoden Verständnis Java Basics - Anfänger-Themen 14
M Feste Reihenfolge von dem Ablauf von Methoden Java Basics - Anfänger-Themen 7
G Java Abstrakte Methoden Java Basics - Anfänger-Themen 2
N Klassen Warum kann meine Klasse nicht auf Methoden der anderen Klasse zugreifen? Java Basics - Anfänger-Themen 6
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
Kirby_Sike Methoden Aufrufe Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Unterklasse soll nicht alle Methoden erben Java Basics - Anfänger-Themen 3
Curtis_MC Parameter-Übergabe bei Klassen und Methoden Java Basics - Anfänger-Themen 12
H Aufruf von Methoden durch Methoden Java Basics - Anfänger-Themen 3
W Methoden Verständnisfrage Vererbung von Methoden Java Basics - Anfänger-Themen 14
H Wie kann ich durch Methoden definiren? Java Basics - Anfänger-Themen 8
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P Verzweigungen und Methoden Java Basics - Anfänger-Themen 10
C Methoden/Klassen Übergabewerte Java Basics - Anfänger-Themen 8
B Methoden Mehrere ähnliche Methoden zusammenfassen Java Basics - Anfänger-Themen 24
C Java Klassen/Methoden/Übergabeparameter Java Basics - Anfänger-Themen 4
C Java Methoden "Parameter" Problem Java Basics - Anfänger-Themen 16
B Polymorphie Warum funktionieren polymorphe Referenzvariablen bei überschriebenen Methoden und bei nicht überschriebenen nicht? Java Basics - Anfänger-Themen 3
B Methoden Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Methoden richtig anwenden Java Basics - Anfänger-Themen 3
C Zusammenfassen von Methoden in einer Hilfsmethode Java Basics - Anfänger-Themen 19
A Methoden Serialisieren Java Basics - Anfänger-Themen 17
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
H Datenkapselung (get und set Methoden) Java Basics - Anfänger-Themen 2
H if bedinung in methoden umändern Java Basics - Anfänger-Themen 33
H Frage zu Methoden/Funktionen Java Basics - Anfänger-Themen 3
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
C Methoden überschreiben Java Basics - Anfänger-Themen 3
J Übergabe von Parametern an andere Methoden Java Basics - Anfänger-Themen 5
R Weitergabe von Arrays aus Methoden in andere Klasse Java Basics - Anfänger-Themen 5
A Methoden Array aus verschiedenen Methoden bearbeiten bzw. öffnen Java Basics - Anfänger-Themen 18
O Methoden welche ich implementier Java Basics - Anfänger-Themen 11
J Input/Output Input als Parameter an Methoden übergeben Java Basics - Anfänger-Themen 23
O Methoden - Geschwindigkeit Java Basics - Anfänger-Themen 7
E nochmal synchronisierte Methoden Java Basics - Anfänger-Themen 5
R Methoden rekursive Methoden Java Basics - Anfänger-Themen 6
E Synchronisierte Methoden vs. Synchronized(lockObject) Block Java Basics - Anfänger-Themen 7
J Methoden Methoden einer public class AutoCompleteTextField verwenden Java Basics - Anfänger-Themen 14
E Vererbung super-Methoden Aufruf Java Basics - Anfänger-Themen 3
PaperHat Methoden als Parameter anderer Methode verwenden Java Basics - Anfänger-Themen 11
H Interface Final für Parameter in überschriebenen Methoden? Java Basics - Anfänger-Themen 3
C nicht statische Methoden Java Basics - Anfänger-Themen 4
H Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
F Kindklassen sollen Ihre Methoden selbst implementieren Java Basics - Anfänger-Themen 5
U Methoden Code sinnvoll in Methoden einteilen Java Basics - Anfänger-Themen 2
E Hilfe bei Implementierung von Methoden Java Basics - Anfänger-Themen 10
A Klassen Vererbung privater Methoden und Member Java Basics - Anfänger-Themen 12
K Vererbung Auf Methoden von Unterklassen zugreifen Java Basics - Anfänger-Themen 6
T Auslagern von Methoden bei einem JFrame Java Basics - Anfänger-Themen 6
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
C Überschneidung von nacheinander ausgeführten Methoden Java Basics - Anfänger-Themen 7
Edin Kommentierung von Methoden auf Deutsch oder Englisch? Java Basics - Anfänger-Themen 5
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
N Methoden zur Rekursion (catalansche Zahlen) Java Basics - Anfänger-Themen 4
C Methoden Auf Methoden anderer Klassen zugreifen Java Basics - Anfänger-Themen 10
M Methoden Überladung von Methoden Java Basics - Anfänger-Themen 23
J Teile der Funktionalität von Klassen in Methoden platzieren. Java Basics - Anfänger-Themen 3
O JavaDoc-Methoden kommentieren Java Basics - Anfänger-Themen 26
S Methoden Parameterübergabe Java Basics - Anfänger-Themen 4
M Methoden Zwei Methoden in einem Program laufen lassen...aber wie? Java Basics - Anfänger-Themen 2
M Methoden zwei methoden gleichzeitig laufen lassen Java Basics - Anfänger-Themen 4
O Methoden 3 Methoden gleichzeitig laufen lassen in der Console Java Basics - Anfänger-Themen 2
O Methoden implementieren, Sichtbarkeiten, Brüche Java Basics - Anfänger-Themen 104
J Methoden Zwei Methoden die fast das gleiche tun organisieren Java Basics - Anfänger-Themen 3
L Methoden Methoden hinzufügen?! Java Basics - Anfänger-Themen 1
M Methoden (in Klassen) Java Basics - Anfänger-Themen 4
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Anzeige

Neue Themen


Oben