cannot resolve symbol
-
Hallo !!
Ich bin Anfänger in Java und deshalb sieht meine kleine Klasse vielleicht ein bisschen sinnlos und lächerlich aus, aber
ich habe mir nur ein kleines Versuchsprogramm neu.java geschrieben, um mich mit Konstruktoren,
Klassen, Objekten, Objektmethoden und so weiter vertraut zu machen.
Zu neu.java habe ich ein Testprogramm neuTest.java geschrieben.
Kompiliere ich neuTest.java dann bekomme ich folgende Fehlermeldung:javac neuTest.java
neuTest.java:7: cannot resolve symbol
symbol : variable getgeschwister
location: class neu
System.out.println( "Ich habe "+Person.getgeschwister + " Geschwister und bin "
^
neuTest.java:8: cannot resolve symbol
symbol : variable getalter
location: class neu
+ Person.getalter + " Jahre alt ");
^
2 errorsWarum ?
Meine Klasse: neu.java
=================================================
public class neu {
private int geschwister;
private int alter;
public neu (int geschwister, int alter){
this.geschwister = geschwister;
this.alter = alter;
}
public int getalter()
{
return alter;
}
public int getgeschwister (){
return geschwister;
}
}==============================================
Mein Testprogramm: neuTest.java
================================================
public class neuTest {
public static void main (String argv []){neu Person;
Person = new neu( 1,22);System.out.println( "Ich habe "+Person.getgeschwister + " Geschwister und bin "
+ Person.getalter + " Jahre alt ");}
}
-
Methodenaufrufe werden stets mit Klammern gemacht, auch wenn die Methode keine Parameter erwartet.
-
getgeschwister und getalter sind Methoden. Du willst innerhalb des System.out.println-Aufrufs allerdings so auf diese Methoden zugreifen, als ob sie Variablen wären. Bei einer Methode mußt du immer die Parameter in Klammern hinter dem Methodennamen angeben, mit denen du die Methode aufrufen willst. getgeschwister und getalter sind parameterlos, deshalb wirst du hier keine Parameter angeben. Auf die Klammern kannst du aber nicht verzichten. Da gehört also ein "()" hinter die Methodennamen.
-
@Gregor: Multithreading wie es leibt und lebt
-
CengizS schrieb:
@Gregor: Multithreading wie es leibt und lebt
Ja. Allerdings erscheint es mir etwas wie Resourcenverschwendung.
-
Hi an Euch alle !!
Vielen Dank !!
Um die Methode beim Punktaufruf von einer Variable zu unterscheiden muss ich also die Klammern setzen, auch wenn keine Parameter übergeben werden.Harri1