Methoden Objekt wird nicht erkannt

kruemelkeksfan

Aktives Mitglied
Java:
//Hauptklasse
public class VocTrainer 

{
//Hauptmethode
public static void main (String[] args)
        
	{
	//Variablen deklarieren
            
	//Neues Menü erzeugen
	Menu mainmen = new Menu ();
  
	//Menü anzeigen
	}

}

//Menüklasse
class Menu

{
//Instanzvariablen

//Konstruktor      
Menu ()
 
	{
	Option test = new Option ("Vokabeln abfragen");
	Option config = new Option ("Neues Vokabular hinzufügen");
	}        

//Methoden    
public void String show ()

	{
	System.out.println ( test.show () );
	System.out.println ( config.show () );
	}

}

//Menüpunktklasse
class Option

{
//Instanzvariablen
private String optname; 

//Konstruktor
Option (String name)

	{
	optname = name;    
	}       
    
//Methoden    
public String show ()
  
	{
	return optname;    
	}

}

Hi Leute,
der Zweck des oben stehenden Programmes ist nichts weiter, als ein Hauptmenü mit 2 Unterpunkten zu erzeugen und anzuzeigen. Leider tut es das nicht.
Der Compiler gibt die Fehlermeldung

VocTrainer.java:35: '(' expected
public void String show ()
^
1 error

aus und NetBeans meldet, dass "test" und "config" nicht gefunden werden können. Kann mir jemand sagen, wo das Problem liegt? Sind die Konstruktoren oder die Methoden falsch?
 

Ruzmanz

Top Contributor
Ist den jede Klasse auch in einer seperaten Datei? Ansonsten sehe ich spontan nichts, was den ersten Fehler produzieren würde.

Deine Optionen "Option test" und "Option config" sind nur lokale Variablen im Kontruktor. Diese benötigst du als Instanzvariablen.

PS: Evtl. hast du es absichtlich gemacht, aber nochmals ls Hinweis: Wenn du kein private / public vor eine Klasse / Methode / Instanzvariable schreibst, dann sind die per default "protected".
 
Zuletzt bearbeitet:
T

tummo

Gast
Java:
public void String show()
Eine Methode kann nicht gleichzeitig nichts und einen String zurückgeben. Du musst dich entscheiden.
 
Zuletzt bearbeitet von einem Moderator:

kruemelkeksfan

Aktives Mitglied
Standardsichtbarkeit sollte doch ausreichen? Warum muss ich jede in eine seperate Datei schreiben? Natürlich brauche ich config und test als globale Objekte und nicht nur lokal, ich probier mal, das umzuschreiben.
 

kruemelkeksfan

Aktives Mitglied
Ich habe jetzt alle 3 Methoden in seperate .java Dateien kopiert, auf public gesetzt, kompiliert und laufen lassen, Ergebnis:

Maximilians-MacBook-Pro:desktop maxmacbook$ javac Option.java
Maximilians-MacBook-Pro:desktop maxmacbook$ javac Menu.java
Menu.java:19: cannot find symbol
symbol : variable test
location: class Menu
System.out.println ( test.show () );
^
Menu.java:20: cannot find symbol
symbol : variable config
location: class Menu
System.out.println ( config.show () );
^
2 errors
Maximilians-MacBook-Pro:desktop maxmacbook$ javac VocTrainer.java
./Menu.java:19: cannot find symbol
symbol : variable test
location: class Menu
System.out.println ( test.show () );
^
./Menu.java:20: cannot find symbol
symbol : variable config
location: class Menu
System.out.println ( config.show () );
^
2 errors

Wenn beide Klassen Fehler bringen, liegt das Problem wahrscheinlich bei der Methode, oder? Gibt es dort irgendeinen Syntaxfehler, den ich übersehen habe?
 
T

tummo

Gast
Standardsichtbarkeit sollte doch ausreichen? Warum muss ich jede in eine seperate Datei schreiben?
Müssen nicht, aber es macht es übersichtlicher als dieses "Ein-Dateien-Design". Übrigens: separat
Natürlich brauche ich config und test als globale Objekte und nicht nur lokal, ich probier mal, das umzuschreiben.
Warum willst du jetzt in dieses Extrem umschlagen? Zum Unsinn globaler Variablen wurde sich schon zur Genüge ausgelassen. Lokal ist genau richtig, aber eben mit Instance nicht nur Constructor als Scope, oder anders gesagt: als Instanzattribut.
 

kruemelkeksfan

Aktives Mitglied
Müssen nicht, aber es macht es übersichtlicher als dieses "Ein-Dateien-Design". Übrigens: separat
Lokal ist genau richtig, aber eben mit Instance nicht nur Constructor als Scope, oder anders gesagt: als Instanzattribut.

noch mal auf Java-Einsteiger-Deutsch, bitte. Warum sind die Objekte nur "lokale Variablen"? Wie kann ich sie soweit öffentlich machen, dass das Programm funktioniert?
Ich habe mich an einem Beispielprogramm orientiert, wo es diese ganzen Probleme nicht gibt:

Ausführbare Version des Programms

Was ist dort anders?
 
T

tummo

Gast
OK, lokal war die falsche Wortwahl, Attribute trifft es eher, aber globale Variablen sind eine ganz andere Geschichte und hier fehl am Platz.

Zurück zum Thema: In dem Beispiel werden Attribute benutzt statt wie bei dir nur lokale Variablen im Konstruktor, welche sofort nach dem Konstruktordurchlauf ihre Gültigkeit verlieren. Wenn du nicht weißt, was Attribute in Java sind -> Google oder Einsteigerbuch.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
S Objekt synchronisieren, sodass es nicht von mehreren Threads benutzt wird..? Allgemeine Java-Themen 2
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
A Exception in Konstruktor - trotzdem wird Objekt erzeugt! Allgemeine Java-Themen 3
L Objekt in einem Frame wird im anderen benötigt Allgemeine Java-Themen 5
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
T Objekt Array Aufgabe mit Busdatenbank Allgemeine Java-Themen 2
Maxi-JOO Klassen Dummy Objekt in anderen Constructor übergeben Allgemeine Java-Themen 5
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
A Objekt aus anderen Objekten machen Allgemeine Java-Themen 8
SaftigMelo In einem Winkel Objekt bewegen Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
U Konstante in Objekt definieren Allgemeine Java-Themen 6
D this mit Objekt überschreiben Allgemeine Java-Themen 17
R Synchronized - auf welchem Objekt Allgemeine Java-Themen 16
E Objekt erstellen Allgemeine Java-Themen 7
M Timer von nicht existiertem Objekt stopen Allgemeine Java-Themen 5
M Swing-Frontend abhängig von ausgewähltem Objekt Allgemeine Java-Themen 4
J Lebt das Objekt noch?? Allgemeine Java-Themen 12
K Objekt einer konkreten Implementierung eines Interfaces durch übergebenen String Allgemeine Java-Themen 2
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
S Performance Frage: Objekt oder static? Allgemeine Java-Themen 33
B Speicherverbrauch Objekt-Referenz Allgemeine Java-Themen 11
D Browser-Objekt erzeugen Allgemeine Java-Themen 8
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
A Iterationen einer XML-Datei in einem Objekt sichern Allgemeine Java-Themen 5
R Objekt zur Laufzeit zerstören? Allgemeine Java-Themen 12
hdi Frage zur Objekt Initialisierung Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben