Neues Klassenobjekt nicht "ansprechbar"

IceHawk

Mitglied
Hallo,

ich lese gerade ein Buch, in dem ich gerade bei dem "Data Hiding" angelangt bin. Nun wollte ich testweise eine eigene Klasse "student" erstellen, und diese dann mit Methoden verändern.

Java:
public class Uebung {

    public class student {
        private String name;
        private int nummer;
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return this.name;
        }
        public void setNummer(int nummer){
            this.nummer = nummer;
        }
        public int getNummer(){
            return this.nummer;
        }       
    }

    public static void main(String[] args) {
        student studi = new student();
        studi.setName = "Hans";
        System.out.println(studi.name);
    }
}

Ich merke, dass ich keinen student studi erzeugen kann, weil ich selbst in der MAIN Methode nicht darauf zugreifen kann. Nur wie könnte ich das Problem lösen?
 

tfa

Top Contributor
"student" ist eine inner class. Objekte dieser Klasse können nur innerhalb von "Uebung"-Objekten existieren. Mach daraus eine static nested class und es funktioniert (also einfach [c]static[/c] vor das class schreiben).
 

Fab1

Top Contributor
Wenn du zwei Klassen benutzt und nicht eine Innere dann funktioniert das fast.

Du hast noch den ein oder anderen Fehler bei der Verwendung einer Methoden.

Schau dir mal folgendes an, das funktioniert. Und vergleiche was du gemacht hast.

Klassennamen sollten Groß geschrieben werden. :)

Java:
public class Uebung {

	public static void main(String[] args) {
		Student studi = new Student();
		studi.setName("hans");
		System.out.println(studi.getName());
	}
}

 class Student {
	private String name;
	private int nummer;

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return this.name;
	}

	public void setNummer(int nummer) {
		this.nummer = nummer;
	}

	public int getNummer() {
		return this.nummer;
	}
}
 
S

SlaterB

Gast
Klassen groß schreiben,

Klassen sowieso besser in eigene Dateien, nur für main eine leere Klasse Uebung und alle anderen darin,
kann zwar komfortabel sein wenn man weiß was man tut/ gerade kurz testet,
den allgemeinen Umgang mit Objektorientierung entspricht das aber nicht
 

IceHawk

Mitglied
Wenn du zwei Klassen benutzt und nicht eine Innere dann funktioniert das fast.

Du hast noch den ein oder anderen Fehler bei der Verwendung einer Methoden.

Schau dir mal folgendes an, das funktioniert. Und vergleiche was du gemacht hast.

Klassennamen sollten Groß geschrieben werden. :)

Java:
public class Uebung {

	public static void main(String[] args) {
		Student studi = new Student();
		studi.setName("hans");
		System.out.println(studi.getName());
	}
}

 class Student {
	private String name;
	private int nummer;

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return this.name;
	}

	public void setNummer(int nummer) {
		this.nummer = nummer;
	}

	public int getNummer() {
		return this.nummer;
	}
}

ah ok, das verstehe ich soweit. Nur warum wird hier das Keyword Public vor "class Student" nicht benutzt?
 

HimBromBeere

Top Contributor
ah ok, das verstehe ich soweit. Nur warum wird hier das Keyword Public vor "class Student" nicht benutzt?
weil du innerhalb einer JAVA-Datei nur eine Top-Level Klasse haben darfst, die
Code:
public
ist, und das muss die sein, deren Name die Datei trägt (bei dir also
Code:
Uebung
).

Aber wie bereits anderweitig erwähnt: Zwei Klassen gehören in zwei versch. Dateien.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J neues Object (JLabel) vorab zum Layout hinzufügen , Location setzen, etc? Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J Array vertauschen ohne ein neues anzulegen?! Java Basics - Anfänger-Themen 10
W Neues Lern-Projekt gesucht Java Basics - Anfänger-Themen 8
B Erste Schritte nio oder io für neues Projekt Java Basics - Anfänger-Themen 1
AnnaBauer21 org.w3c.dom.Element - Neues Element hinzufügen Java Basics - Anfänger-Themen 4
C Neues Objekt mit Beziehung zu bereits bestehendem Objekt Java Basics - Anfänger-Themen 4
T Erste Schritte Totaler Noob in Java will was neues lernen Java Basics - Anfänger-Themen 22
E Knopfdruck neues Fenster öffnen Java Basics - Anfänger-Themen 5
F Verweis oder neues Objekt? Java Basics - Anfänger-Themen 8
J Variablen Strings mit Zeilenumbrüchen in neues Array Element Java Basics - Anfänger-Themen 1
F Neues Objekt oder nur ein Verweis? Java Basics - Anfänger-Themen 5
K Erste Schritte Neues Fenster mit Textinhalt öffnen Java Basics - Anfänger-Themen 6
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
L OOP Neues Objekt bei jeder Eingabe erstellen (Objekte speichern?) Java Basics - Anfänger-Themen 10
I Innerhalb einer Methode suchen und hinzufügen. Neues Objekt in Suche dann? Java Basics - Anfänger-Themen 8
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
J char-Array rückwärts ausgeben und in neues Char-Array speichern Java Basics - Anfänger-Themen 3
P Array reversed in ein neues Array Java Basics - Anfänger-Themen 5
P Vererbung Neues Objekt aus Vorlage erzeugen Java Basics - Anfänger-Themen 1
F Neues Panel und Button unsichtbar Java Basics - Anfänger-Themen 10
M Beim Klicken auf X neues Fenster Java Basics - Anfänger-Themen 4
S Neues Fenster auf Knopfdruck Java Basics - Anfänger-Themen 12
J Button drücken neues Fenster?! Java Basics - Anfänger-Themen 5
M Neues Objekt erzeugen mit Klassennamen oder ohne Java Basics - Anfänger-Themen 5
C Button - neues Fenster - Bestellung anzeigen Java Basics - Anfänger-Themen 10
M Neues Objekt? Java Basics - Anfänger-Themen 6
K Neues Bild bei eingabe bestätigung erscheinen Java Basics - Anfänger-Themen 21
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
M Neues Fenster Java Basics - Anfänger-Themen 2
S Innerhalb eines Fensters ein neues erschaffen Java Basics - Anfänger-Themen 7
D aus einem einzeiligen String ein neues Objekt erstellen Java Basics - Anfänger-Themen 5
K neues Fenster mit Button öffnen Java Basics - Anfänger-Themen 17
D Neues Frame öffnen Java Basics - Anfänger-Themen 7
M Neues Objekt erstellen Java Basics - Anfänger-Themen 3
P neues Objekt Java Basics - Anfänger-Themen 4
J Neues Forum Thema erstellen mit java(httpclient) Java Basics - Anfänger-Themen 11
D Neues Objekt in Methode erstellen möglich? Java Basics - Anfänger-Themen 5
M Neues Fenster öffnen altes schützen Java Basics - Anfänger-Themen 10
S mit clickevent neues formular öffnen Java Basics - Anfänger-Themen 2
K Neues Fenster Öffnen? Java Basics - Anfänger-Themen 18
F jTable - neues Element vorher auf existenz Prüfen Java Basics - Anfänger-Themen 7
B neues Objekt erzeugen Java Basics - Anfänger-Themen 7
E Neues Java Fenster öffnen Java Basics - Anfänger-Themen 4
D Neues ContentPane öffnen Java Basics - Anfänger-Themen 3
B neues Problem! Java Basics - Anfänger-Themen 14
G JSP ohne neues Fenster aufrufen. Java Basics - Anfänger-Themen 8
S neues Objekt benennen Java Basics - Anfänger-Themen 3
I Probleme bei "Neues Spiel" Java Basics - Anfänger-Themen 3
P Neues Fenster ueber Hauptfenster Java Basics - Anfänger-Themen 4
T Möchte ein neues Objekt erzeugen mit Wert von anderem Objekt Java Basics - Anfänger-Themen 9
L Wie kann ich auch in einem ActionListener ein neues java Pro Java Basics - Anfänger-Themen 8
gurgi mit button neues Frame öffnen Java Basics - Anfänger-Themen 7
G Neues File mit vorgegebenen Einstellungen erstellen? Java Basics - Anfänger-Themen 7
G neues Objekt der Klasse eines anderen Objekts Java Basics - Anfänger-Themen 3
T Panel entfernen, neues hinzufügen Java Basics - Anfänger-Themen 2
D neues Fenster in GUI Java Basics - Anfänger-Themen 2
S Methode soll ein neues Objekt vom Typ Class XYZ Java Basics - Anfänger-Themen 7
G neues String Array in super() übergeben Java Basics - Anfänger-Themen 3
S vom button ein neues fenster öffnen Java Basics - Anfänger-Themen 1
L neues Fenster und Hauptfenster sperren Java Basics - Anfänger-Themen 11
N Open Source für Anfänger, neues Projekt-> Interesse? Java Basics - Anfänger-Themen 36
I Neues Spiel starten Java Basics - Anfänger-Themen 9
K Neues Fenster per Buttonklick, Texteingabe speichern Java Basics - Anfänger-Themen 9
S Problem neues Objekt erzeugen Java Basics - Anfänger-Themen 4
M removeAll() und neues Hinzufügen Java Basics - Anfänger-Themen 2
A neues Objekt in main methode erstellen Java Basics - Anfänger-Themen 2
N Wie öffne ich ein neues Applet? Java Basics - Anfänger-Themen 4
G neues Paket importieren Java Basics - Anfänger-Themen 2
M [SOLVED]private Daten head - neues objekt? Java Basics - Anfänger-Themen 12
R Spieleprogrammierung Menüeintrag "Neues Spiel" Java Basics - Anfänger-Themen 2
G Neues Bild bei MouseOver Java Basics - Anfänger-Themen 2
X GUI: neues Panel in einer Applikation anzeigen lassen Java Basics - Anfänger-Themen 2
R Gui + neues Fenster Java Basics - Anfänger-Themen 8
bernd Neues JFrame erzeugen? Java Basics - Anfänger-Themen 8
S Neues Fenster/Panel nach Knopfdruck Java Basics - Anfänger-Themen 2
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
S in einem PopUp ein neues Popup erzeugen? Java Basics - Anfänger-Themen 5
J neues gui hinzugefügt .... jetzt gehts nicht mehr Java Basics - Anfänger-Themen 10
E Klasse- Objekt - Klassenobjekt :? Java Basics - Anfänger-Themen 9
J Variablen-Werte ändern sich nicht... wieso?? Java Basics - Anfänger-Themen 4
S Fehlermeldung: Hauptklasse nicht gefunden Java Basics - Anfänger-Themen 3
M HelloWorld.txt nach HelloWorld.java in Win11 funktioniert nicht Java Basics - Anfänger-Themen 4
Sniper1000 Java lässt sich auf älterem Win 7 nicht mehr installieren Java Basics - Anfänger-Themen 34
W Sieht jemand was, was ich nicht sehe...? (Debugging) Java Basics - Anfänger-Themen 10
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 1
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 3
C my_table.setRowSelectionAllowed(true) funktioniert nicht; Java Basics - Anfänger-Themen 0
B Warum funktioniert die Lösung von CodeGym aber meine nicht? Java Basics - Anfänger-Themen 3
P Wo NUR (!) JRE v18 oder v21 herunterladen? Also nicht volles JDK Java Basics - Anfänger-Themen 1
J shuffle cards wird nicht ausgeführt. Java Basics - Anfänger-Themen 2
J JTextField -> CaretPos bei SelectionStart() setzten nicht bei SelectionEnd() Java Basics - Anfänger-Themen 20
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
thomas55 Erste Schritte Modul läuft in IntelliJ, nicht in NetBeans Java Basics - Anfänger-Themen 11
G Nicht ausführbares JAR, externe jars mit einbinden Java Basics - Anfänger-Themen 7
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben