Héritage Java-(modificateur)

L'héritage est l'une des trois caractéristiques majeures de l'orientation objet, qui permet aux sous-classes d'avoir les propriétés et les méthodes de la classe parent, et peut également être redéfinie dans la sous-classe, et des propriétés et méthodes supplémentaires peuvent être ajoutées.

Annuaire d'articles


Préface

        La notion d'héritage :

L'héritage est l'une des trois caractéristiques majeures de l'orientation objet, qui permet aux sous-classes d'avoir les propriétés et les méthodes de la classe parent, et peut également être redéfinie dans la sous-classe, et des propriétés et méthodes supplémentaires peuvent être ajoutées.

        Avantages de l'héritage :

L'héritage peut créer une relation entre les classes, une relation de classe enfant-parent. Une fois qu'une classe enfant-parent est générée, la classe enfant peut utiliser les membres non privés de la classe parent. 


提示:以下是本篇文章正文内容,下面案例可供参考

1. Que sont les modificateurs ?

paquet (comprendre): 

        1. Le concept de package.Un package est un dossier, utilisé pour gérer les fichiers de classe. 

        2. Format de définition du package nom du package (utilisez . pour séparer les packages multi-niveaux) Par exemple : package com.heima.demo ; 

        3. Compilez avec le package et exécutez avec le package Compilez avec le package : javac -d . nom de classe.java Par exemple : javac -d . com.heima.demo.HelloWorld.java Exécutez avec le package : nom du package java + nom de la classe 

Par exemple : java com.heima.demo.HelloWorld 

2. Étapes d'utilisation

1. Réécrire et utiliser

        Trois nouvelles classes sont créées ci-dessous, une classe parent et deux sous-classes.

Le code de la classe parent est le suivant (exemple) :

package com.xxgc.ch02_2.po;
//人类
public class Person {
    //静态常量:值不可被改变
    //静态使用情况:便于访问,数据共享。
    public final String schoolName="济南信息工程学校";
    private String name;
    private int age;
    //无参构造
    public Person()
    {

    }
    //有参构造
    public Person(String name,int age)
    {
        this.name=name;
        this.age=age;
    }
    //吃饭
    protected void eat() {
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

        Créez deux sous-classes ci-dessous, à savoir Classe d'étudiant (classe d'étudiant) ; Classe d'enseignant (classe d'enseignant).

Le code de la classe étudiant est le suivant :

package com.xxgc.ch02_2.po;

public class Student extends Person{
    public Student()
    {

    }
    public Student(String name,int age)
    {
        super(name,age);
    }
    //重写父类的方法,方法名一样,参数列表也必须一样
    public void eat()
    {
        System.out.println("学生吃肉");
    }
    public void study()
    {
        System.out.println(super.getName()+"学习");
    }
}

        Ensuite, nous créons la classe professeur

        le code s'affiche comme ci-dessous :

package com.xxgc.ch02_2.po;
//老师类
public class Teacher extends Person{
    public Teacher()
    {

    }
    public Teacher(String name,int age)
    {
        super(name,age);
    }
    public void eat()
    {
        System.out.println("老师吃烤鱼");
    }
    public void teach()
    {
        System.out.println(super.getName()+"教课");
    }
}

        Récrire:

        Je ne sais pas si vous avez remarqué que parmi les trois classes ci-dessus, la sous-classe hérite de la classe parent. Mais il existe une méthode eat() que l’on retrouve dans les trois classes et qui porte le même nom. C'est tout (réécrire).

        Bien que la sous-classe hérite de la classe parent, s'il existe les mêmes méthodes, utilisez la sous-classe pour les appeler. La méthode de la sous-classe est appelée par défaut. Voici un exemple : "Si vous aviez un téléphone portable, emprunteriez-vous quand même le téléphone portable de quelqu'un d'autre ?".

        Créez une nouvelle classe de test pour déterminer si ce qui précède est faux.

        Le code de la classe de test est le suivant :

package com.xxgc.ch02_2.test;

import com.xxgc.ch02_2.po.Student;
import com.xxgc.ch02_2.po.Teacher;

public class PersonDemo {
    public static void main(String[] args) {
        //打印学校名称
        Student stu=new Student();
        stu.setName("扶苏");
        stu.eat();
        String school= stu.schoolName;
        System.out.println(school);
        Teacher t=new Teacher();
        t.eat();

    }
}

      Grâce à la classe de test ci-dessus, exécutez le code. Appelez la méthode substituée eat() et appelez respectivement la méthode eat() des deux sous-classes. Les résultats sont les suivants :

        Les résultats en cours d'exécution prouvent que l'instruction ci-dessus est correcte. S'il existe une méthode substituée dans la sous-classe et qu'elle est appelée dans la sous-classe, la méthode de la sous-classe elle-même est appelée, pas la classe parent appelante. 

2.importer (compréhension)

importer (compréhension):

La signification du package guide. Lorsque vous utilisez des classes sous différents packages, vous devez écrire le chemin complet de la classe lors de son utilisation. C'est trop difficile à écrire. Afin de simplifier l'opération d'apport de packages, Java fournit la fonction de forfaits de guide. Le format du forfait de guide 

Format : nom du package d'importation ; 

Exemple : importez java.util.Scanner ; 

Exemple de code (objet Scanner créé sans utiliser le package d'importation)         

package com.heima; import java.util.Scanner; public class Demo { 
    public static void main(String[] args) { 
// 1. 没有导包,创建Scnaner对象
     Scanner sc = new Scanner(System.in); 
    } 
}

       1. final (candidature)

           La fonction du mot-clé fifianl 

  •         fifinal représente la signification finale et peut modifier les méthodes membres, les variables membres et les classes 
  •         L'effet de la modification finale des classes, des méthodes et des variables 
  •         Classe modifiée fifianl : cette classe ne peut pas être héritée (ne peut pas avoir de sous-classes, mais peut avoir des classes parentes) 
  •         méthode modifiée fifinal : cette méthode ne peut pas être remplacée 
  •         variable modifiée fifinal : indique que la variable est une constante et ne peut pas être réaffectée 

        2.fifinal modifie les variables locales (compréhension)     

fifianl modifie les variables de type de données de base :

  •         La modification fifinal signifie que la valeur des données du type de base ne peut pas être modifiée. 
  •         fifinal modifie les variables de type de données de référence 
  •         La modification finale signifie que la valeur de l'adresse du type de référence ne peut pas être modifiée, mais que le contenu de l'adresse peut être modifié. 

Exemple: 

public static void main(String[] args){
     final Student s = new Student(23); 
     s = new Student(24); 
    // 错误 s.setAge(24); // 正确 
}

        3.statique (application) :   

  • Le concept de statique 
  • Le mot-clé static signifie statique et peut modifier les [méthodes membres] et les [variables membres] 
  • Caractéristiques de la modification statique 
  • 1. Partagé par tous les objets de la classe, c'est aussi la condition pour que nous puissions juger s'il faut utiliser le mot-clé static 
  • 2. Bien sûr, il peut être appelé via le nom de la classe, ou il peut être appelé via le nom de l'objet [il est recommandé d'utiliser le nom de la classe pour appeler] 

        le code s'affiche comme ci-dessous :

class Student {
     public String name; //姓名
     public int age; //年龄 
    public static String university; //学校 共享数据!所以设计为静态!
   public void show() { 
        System.out.println(name + "," + age + "," + university); } 
    }
    public class StaticDemo {
     public static void main(String[] args) { 
    // 为对象的共享数据赋值 
    Student.university = "传智大学"; 
    Student s1 = new Student();
     s1.name = "林青霞"; 
    s1.age = 30;
     s1.show(); 
    Student s2 = new Student();
     s2.name = "风清扬"; 
    s2.age = 33; s2.show(); 
    } 
}

        4.Caractéristiques d'accès statique (maître)

  • caractéristiques d'accès statique 
  • méthodes membres non statiques 
  • Peut accéder aux variables membres statiques 
  • Peut accéder aux variables membres non statiques 
  • Peut accéder aux méthodes membres statiques 
  • Peut accéder aux méthodes membres non statiques 
  • méthodes membres statiques 
  • Peut accéder aux variables membres statiques 
  • Peut accéder aux méthodes membres statiques 
  • Pour le résumer en une phrase : 
  • Les méthodes de membres statiques ne peuvent accéder qu'aux membres statiques 

Résumer

Voici un résumé de l'article : C'est
ce dont nous allons parler aujourd'hui. Cet article ne présente que brièvement l'utilisation des modificateurs Java, et Java fournit un grand nombre de méthodes qui peuvent nous rendre rapides et pratiques.

Je suppose que tu aimes

Origine blog.csdn.net/qq_68384595/article/details/126954014
conseillé
Classement