Java: comment passer des arguments dans le constructeur? Non défini erreur de méthode?
Ok, donc je suis dans le besoin de leur aide. Voici le tutoriel, je suis en train d'apprendre (http://docs.oracle.com/javase/tutorial/java/javaOO/classes.html), mais je suis confus quant à la façon de transmettre les données en elle. Le problème est que j'ai mon Pascal sur le cerveau lorsque vous essayez d'apprendre java...
Voici mon code. Ce que je fais mal?
public class OrigClass{
public static void main(String[] args){
StudentData(17, "Jack"); //error here: the method StudentData(int, String) is undefined for the type OrigClass
}
public class Student{
public void StudentData(int age, String name){
int sAge = age;
String sName = name;
System.out.println("Student Name: " + sName + " | Student Age: " + sAge);
}
}
}
Merci d'avance pour l'aide 🙂
Vous devez vous connecter pour publier un commentaire.
Constructeur n'est pas seulement une méthode: vous avez besoin de lui donner le même nom que la classe, et de l'appeler avec un
new
opérateur, comme ceci:Il y a plusieurs questions dans votre code.
Tout d'abord, vous avez défini un constructeur de StudentData comme une méthode normale - les constructeurs ont pas de type de retour.
Deuxièmement, vous avez besoin d'utiliser le
new
mot-clé pour créer un non-primitive de l'objet en Java.Student
est un intérieur de classe deOrigClass
de sorte que vous avez à faire(new OrigClass()).new Student(17, "Jack")
afin d'instancier unStudent
.Si je suis en supposant que vous avez écrit
Student
classe correctement sans tenir compte de Java naming convention à l'esprit etStudentData
méthode est alors la voie à l'appel de la méthodeStudentData
est incorrect.D'abord créer un objet deStudent
classe, puis d'appeler la méthodeMise à jour: compte tenu de l'Étudiant est intérieure
alors, tout d'abord, vous ne pouvez pas accéder à un non-membre statique(StudentData(int age, String nom)) à partir d'une méthode statique(public static void main(String[] args)). Donc, si vous voulez accéder à la méthode de l'intérieur de votre statique de la méthode main, vous devrez effectuer les opérations suivantes:
Voici le code complet montrant comment vous pouvez atteindre le résultat souhaité:
}