Mein erster Konstruktor

Vektor

Neues Mitglied
Tag zusammen!
Also bin ganz neu in dem gebiet Java und vor kurzem mein ersten Konstruktor programiert hat auch funktioniert. Es bin ich aber an der Stelle wo ich das Testen will nur bekomme ich kein Output.
Würdet ihr den Quellcode mal auseinanderpflücken, also verbessern und mir vielleicht Tipps fürs nächste mal geben? Danke schonmal im Vorraus. =)

[Java]class Student{
String Firstname , Secondname ;
int age;
public Student (){}
Student ( String Firstname , String Secondname , int age){
this.Firstname = Firstname;
this.age = age;
this.Secondname = Secondname;
}
}
class StudentObject {
Student firstSister = new Student ("Sören","Fischer",21);
Student secondSister = new Student ("Christina","Mayers",19);
Student therdSister =new Student("Max","Mustermann",29);
}

class Output{
public void main (String args){
System.out.println(StudentObject.firstSister);
}
}
[/Java]
 
Woher soll denn Java wissen, was du von der Klasse Student ausgegeben haben willst?

Entweder du überschreibst die toString-Methode der Klasse Student oder greifst auf ein bestimmtes Attribut zu.

Code:
 System.out.println(new StudentObject().firstSister.age);
 
Java:
class Student {
	private String firstname; // variablen klein 
	public String secondname; // sollte private sein --> kein zugriff ausserhalb
	private int age;

	// public machen --> überall aufrufbar
	public Student(String firstname, String secondname, int age) {
		this.firstname = firstname; // klein: variable gross: Klassen
		this.secondname = secondname;
		this.age = age;
	}
	
	// zugriff sollte über getter laufen
	public String getFirstname() {
		return this.firstname;
	}
}

class StudentObject {
	
	// ist ein Member der package private ist --> kein zugriff da unten, da nicht static
	Student firstSister = new Student("Sören", "Fischer", 21);  
}

class Output {
	public static void main(String[] args) { // die main ist static! und benutzt ein ARRAY []
		
		// lokales Objekt
		Student firstSister = new Student("Sören", "Fischer", 21);  
		
		System.out.println(firstSister); // gib mist aus, ausser man überschreibt toString in der Studen klasse
		
		// geht auch net.... jetzt sind die Instanzvariablen private
		//System.out.println(firstSister.firstname);
		// des geht da public aber böse
		System.out.println(firstSister.secondname);
		
		// schön über getter
		System.out.println(firstSister.getFirstname());
		
		// kein zugriff. siehe oben (ausser wäre static)
		// System.out.println(StudentObject.firstSister);
	}
}
 
Zuletzt bearbeitet:
So würde ich das auch machen. Eine [c]toString[/c]-Methode für [c]Student[/c]:

Java:
  ...
  public String toString(){
      return String.format("Name: %s %s, Alter: %d", firstname, secondname, age)  
  }
  ...
 

Neue Themen


Zurück
Oben