2016-10-04 3 views
-1

ich ein einfaches Tutorial für Java mit Eclipse tue und leitet in ein Problem kann ich nicht zu lösen scheint:Zuweisen eine Variable zu einer Klasse

Paket edu.sti.java1;

public class Treiber {

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    System.out.println ("This is a Java Program Console Output String!"); 
    Shout s; 
    System.out.println("Are you: " 
     + s.getFname() 
     + " " + s.getMi() 
     +". " + s.getLname() 
     + ", " + s.getAge() 
     +" YEARS OF AGE?"); 
    } 

}

Ich erhalte eine Fehlermeldung, dass 's' wurde nicht eingeleitet worden. Es gibt eine Unmenge von Themen über eine Integer-Variable, die deklariert und initiiert wird, aber ich kann anscheinend keine finden, die eine Klasse einer Variablen zuweist. Die Klasse 'Shout' scheint korrekt eingerichtet zu sein und stammt direkt aus dem Tutorial.

Wenn jemand meinen Fehler darauf hinweisen könnte, wäre das großartig. Wenn es nicht offensichtlich ist, bin ich ziemlich neu im Programmieren.

Danke!

+0

Sie * deklarieren * die Variable 'Shout s;' aber Sie initialisieren nie * it, 's = irgendwas' - weisen Sie ihr nie etwas zu. Dies bedeutet, dass Sie das Lernprogramm hierüber überprüfen oder erneut überprüfen möchten. Kombinieren Sie jedes Tutorial, das Sie verwenden, mit anderen oft hilft. –

+0

Speichern Sie diesen Link: [Big Index] (http://docs.oracle.com/javase/tutorial/reallybigindex.html), und beginnen Sie von hier aus zu studieren. –

Antwort

0

S muss in folgendem Format initialisiert werden, bevor

Shout s = new Shout(args); 

verwendet werden Sie können in der shout Klasse aussehen zu überprüfen, welche Argumente es in seinem Konstruktor (Funktion, die eine Instanz von Shout schafft).

+1

Danke für die Antwort, die vorherigen Threads sind schwer zu etwas so einfach zu beziehen. Mit diesem Format habe ich immer noch mit einem Fehler enden. Ich folge nicht wirklich dem Shout (args) Teil, wie in dem, was dort eingefügt würde, das wäre in der "Shout" Klasse ... – PJM

+0

Also in der Shout() machst du eine Kopie von ist eine Java Klasse , genau wie deine Fahrerklasse! Jede Klasse, für die Sie Instanzen erstellen können, hat eine Methode oder eine Gruppe von Methoden, die Konstruktoren genannt werden, und jede Klasse benötigt eine Reihe von Argumenten. Jede Konstruktormethode hat denselben Namen wie die Klasse. Diese Argumente können eine beliebige Art von Variablen sein, werden jedoch von der Konstruktorfunktion in der Klasse angegeben, für die Sie eine Instanz erstellen. Also der Ruf s = new Shout (args); erstellt einen neuen Datensteckplatz für eine Shout-Instanz und ruft dann Shouts Konstruktor auf. –

+0

Um herauszufinden, welche Variablen Shout erstellt werden muss, suchen Sie in der Shout-Klasse nach Methoden, die Shout heißen. Auf diese Weise können Sie eine neue Instanz von shout erstellen und angeben, welche Variablentypen in Klammern gesetzt werden müssen. –

Verwandte Themen