Maison  >  Article  >  Java  >  Qu'est-ce qu'un constructeur Java ?

Qu'est-ce qu'un constructeur Java ?

青灯夜游
青灯夜游original
2019-05-22 17:05:5330137parcourir

Le constructeur, également appelé méthode constructeur et fonction constructeur, est un type spécial de méthode responsable de l'initialisation des variables membres (champs) dans une classe. Le but du constructeur est d'effectuer l'initialisation lors de la création d'un objet. Lorsqu'un objet est créé, le système effectuera une initialisation par défaut pour l'instance de l'objet.

Qu'est-ce qu'un constructeur Java ?

Qu'est-ce qu'un constructeur

1. Sa fonction est de construire une instance d'une classe et de garantir que l'objet est initialisé.

2. Format du constructeur : nom de la classe du modificateur d'autorisation (sans paramètres/avec paramètres){}.

3. Selon qu'il existe ou non des paramètres, il peut être divisé en construction sans paramètre et construction paramétrée.

La plus grande utilisation du constructeur est d'effectuer une initialisation lors de la création d'un objet. Lorsqu'un objet est créé, le système effectuera une initialisation par défaut pour l'instance de l'objet. Si vous souhaitez modifier cette initialisation par défaut, vous pouvez le faire via un constructeur personnalisé.

Les constructeurs peuvent être utilisés pour initialiser les données membres lors de l'initialisation d'objets. Une classe peut avoir plusieurs constructeurs. Le nom du constructeur d'une classe doit correspondre au nom de la classe. Pour quitter la construction, vous pouvez utiliser l'instruction return "return;"

Caractéristiques du constructeur

1 Différent du nom de la méthode générale, le nom de la méthode du constructeur. doit être le même que la classe. Le nom reste cohérent et il n'y a pas de valeur de retour, ni même nulle.

2. Le compilateur Java créera automatiquement un constructeur sans paramètre, donc même s'il n'y a pas de constructeur sans paramètre dans la classe, nous pouvons l'omettre. Il n'est pas nécessaire d'attribuer une valeur lors de l'instanciation d'un objet

3 Si un constructeur paramétré existe déjà dans la classe, le compilateur ne fournira plus de constructeur sans paramètre par défaut. Une valeur doit être attribuée lors de l'instanciation d'un objet, sinon une erreur sera signalée.

4. La méthode constructeur est automatiquement appelée lorsque la classe instancie un objet.

5. Ne peut pas être modifié par statique, final, synchronisé, abstrait et natif. Les constructeurs ne peuvent pas être hérités par les sous-classes

6. Chaque classe peut avoir zéro ou plusieurs constructeurs.

Exemple 1 : Construction sans argument

Classe d'étudiant.

public class Student {
   //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
   public String name;
   public int age;

   //无参构造,编译器自带,可不写。
   public Student(){
       System.out.println("括号内无参数,这就是无参构造");
   }
}

Classe de test

public class Test  {
    public static void main(String[] args)  {
        Student st = new Student();//创建对象,括号内无需赋值
        //没赋值的情况下,字符类型默认值为null,数值类型默认值为0
        System.out.println(st.name+" "+st.age);//null,0

        //对属性进行赋值
        st.name="Tom猫";
        st.age=5;
        System.out.println(st.name+"今年"+st.age+"岁了");
    }
}

Résultat

括号内无参数,这就是无参构造
null 0
Tom猫今年5岁了

Exemple 2 : Construction paramétrique

Classe d'élève

public class Student {
   //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
   public String name;
   public int age;

   //无参构造最好也写上
   public Student(){

   }
   public Student(String name,int age){
       System.out.println("括号内有参数,就是有参构造");
       //将形参变量的值,赋给成员变量。
       this.name = name;
       this.age = age;
     //this.name = "吴邪"  若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫

   }
}

Classe de test

public class Test  {
    public static void main(String[] args)  {
        //创建对象。赋值后,定义的值会传递给构造器中的形参变量。
        Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错
        //使用对象调用成员变量(java对象只能调用成员变量)
        System.out.println(st.name+"今年 "+st.age+"岁了");
    }
}

Résultat

括号内有参数,就是有参构造
Tom猫今年5岁了

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie XOR en Java ?Article suivant:Que signifie XOR en Java ?