Maison > Questions et réponses > le corps du texte
public class Lan{
public static void main(String []agrs){
/*
Person p1=new Person();
p1.age=8;
p1.Test();
System.out.println("第一个为"+p1.age);
创建这一个的时候就不行,提示找不到符号,在“Person p1=new Person()”的new这里提示的,去掉可就没问题。。
*/
Person p2=new Person(7,"小五");
p2.Test();
p2.jisuan();
System.out.println("第二个为"+p2.age);
}
}
class Person{
int age;
String name;
public void jisuan()
{
int i=2;
System.out.println(i);
}
public void Test(){
System.out.println("做测试1");
}
Person(int age,String name){
this.age=age;
this.name=name;
}
}
怪我咯2017-04-18 10:56:30
Pour répondre à la question ci-dessus, quand Java est-il devenu privé sans écrire de modificateurs d'accès ? Est-ce que j'utilise du faux Java ?
PHP中文网2017-04-18 10:56:30
Lorsque vous écrivez explicitement un constructeur. Un constructeur par défaut ne sera pas généré.
Ajoutez simplement Person(){
}
Remarque
Lorsque vous remplacez le constructeur d'une classe, vous devez remplacer le constructeur vide.
Parce que certains frameworks rechercheront ce constructeur par défaut lors de la création d'objets par réflexion.
Veuillez changer la méthode Test() en test().
PHP中文网2017-04-18 10:56:30
Le constructeur paramétré de la classe Person remplace le constructeur par défaut.
Remarque : le constructeur par défaut n'a pas de paramètres
Donc, si vous l'utilisez comme ceci : Person p1=new Person();
Vous devez spécifier un constructeur sans paramètre dans la classe Person. Ou supprimez simplement le constructeur avec les paramètres.
天蓬老师2017-04-18 10:56:30
Parce que vous avez défini le constructeur dans la classe Person, le constructeur par défaut Person() ne sera pas créé, mais votre constructeur personnalisé sera utilisé.
Vous pouvez également utiliser la surcharge de fonctions et écrire un constructeur Person().