La méthode constructeur d'une classe est une méthode spéciale. Le nom de cette méthode doit être cohérent avec le nom de la classe. La construction ne peut pas avoir de valeur de retour. void.Il ne peut pas être appelé directement.Il est instancié dans l'objet de classe.Il est automatiquement appelé quand et peut être appelé quand new . Les constructeurs généraux sont utilisés pour l'initialisation lors de l'instanciation d'objets de classe. Si une classe n'a pas de constructeur écrit, le système ajoute automatiquement un constructeur sans argument à cette classe lors de la compilation. Si un constructeur est écrit pour la classe déclarée, le système n'ajoutera plus de constructeur sans paramètre. Il est recommandé qu'après avoir écrit le constructeur, il soit préférable d'écrire un constructeur sans paramètre.
Pour parler franchement, c'est une méthode de construction sans paramètresSi vous ne comprenez pas le concept, ce sera clair avec un exemple.
Déclarez une classe Apublic class A { }
Créez une méthode constructeur A() dans la classe A et imprimez une phraseLe constructeur doit être le même que le nom de la classe
public class A { public A(){ System.out.println("构造方法A()"); }}
Créez une nouvelle classe de test, et maintenant dans la classe Un objet de classe Apublic class Test { public static void main(String[] args) { A a = new A(); }}
Exécutez la méthode principale et essayez-la
La méthode de construction est équivalente à la méthode qui est automatiquement utilisée dans le nouvel objetConstruction paramétrée
La construction paramétrée signifie qu'il y a des paramètres ConstructeurDéclarez un constructeur avec des paramètres dans la classe A et transmettez deux paramètres de type String, a et b
public class A { public A() { } public A(String a, String b) { System.out.println(a + b); }}
Passez les paramètrespublic class Test { public static void main(String[] args) { A a = new A("aaa", "bbb"); }}
lors du test d'un nouvel objet a in la classe de testNote
Méthode Execute Main
Lorsqu'il n'y a pas de méthode constructeur, il y a un constructeur sans paramètre caché dans la classe. Mais lorsque vous créez un constructeur paramétré, le constructeur caché sans paramètre disparaît. Le nouvel objet ne pourra alors prendre des paramètres que dans le futur. Par conséquent, lors de la construction d'un constructeur paramétré, vous devez créer un constructeur sans paramètre et l'y placer.Héritage des classes
Dans le langage Java, la classe a un héritage unique et plusieurs interfaces d'implémentation. L'interface d'interface est un héritage multiple.
L'ancien conducteur a hérité des caractéristiques des humains et a la fonction supplémentaire de pouvoir conduire.
Pourquoi devrions-nous hériter ? Parce que la sous-classe souhaite ajouter de nouvelles fonctions basées sur la classe parent.
Les sous-classes héritent des méthodes et des attributs de la classe parent. Ce qui suit est un exemple d'analyse :
La classe parent est une personne et la sous-classe est un pilote expérimenté.
Les caractéristiques humaines comprennent : deux mains, deux yeux, deux pieds, la capacité de manger et de boire.
Le code est le suivant :
Il s'agit d'un être humain avec les attributs et fonctions suivants.
public class Ren { public final String shou = "两只手"; public final String jiao = "两只脚"; public final String yan = "两只眼"; public void chi() { System.out.println("会吃"); } public void he() { System.out.println("会喝"); }}C'est la classe vétéran, héritée des humains. Et il existe une fonction supplémentaire permettant de conduire
public class Siji extends Ren { public void kai() { System.out.println("会开车"); }}Test : créer un ancien objet pilote pour afficher les attributs et appeler des méthodes.
public class Test { public static void main(String[] args) { Siji b = new Siji(); System.out.println(b.jiao); System.out.println(b.shou); System.out.println(b.yan); b.chi(); b.he(); b.kai(); }}Réécriture de méthode, surcharge
écrasementSurcharge : les méthodes avec le même nom de méthode, le même type de retour, le même nombre de paramètres formels et des types différents ne doivent pas nécessairement être des relations d'héritage. Elles peuvent être dans la même classe. Par exemple, une surcharge de constructeur
Rewriting Override : le nom de la méthode, le type de retour et les paramètres formels sont tous identiques. Si tel est le cas, il doit s’agir d’une relation successorale.
Le code est le suivant :Par exemple, une personne peut manger et boire, mais un conducteur expérimenté n'aime pas la fonction de manger et souhaite la modifier pour qu'elle puisse manger de la merde.
. car la sous-classe n'est pas satisfaite de la méthode de la classe parent et souhaite donc la modifier. C'est ainsi que la sous-classe remplace la méthode de la classe parent.
Le nom de la méthode doit être le même
L'ancien pilote réécrit la méthode human chi()
Surchargepublic class Siji extends Ren { public void kai() { System.out.println("会开车"); } public void chi() { System.out.println("会吃屎"); }}
Maintenant, réécrivez la classe de test en cours
🎜Un seul parmi le type de valeur de retour, le type de paramètre et le nombre de paramètres des deux méthodes est différent. Mais leurs noms de méthodes sont les mêmes, donc les deux méthodes sont surchargées.
Il existe des constructeurs de paramètres et la construction sans paramètre est une surcharge de méthode. Il existe deux méthodes portant le même nom dans une classe, mais leurs types de valeurs de retour, leurs types de paramètres et leur nombre de paramètres sont différents.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!