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
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben