1. Connaissances de base (recommandé : tutoriel vidéo Java)
1. Dans le langage Java, le mot-clé extends est utilisé pour implémenter la classe. héritage.
Le format est le suivant :
[public] class SubClass extends SuperClass{ //类体的定义 }
2. La classe héritée est appelée classe parent ou super classe ou classe de base, et la classe héritée est appelée sous-classe ou classe dérivée.
3. Les sous-classes héritent du statut (propriétés) et des comportements (méthodes) de la classe parent, et peuvent également avoir leurs propres caractéristiques.
2. Notes sur l'héritage
1. Les sous-classes héritent des variables membres non privées et des méthodes membres de la classe parent. En même temps, veuillez noter que la méthode constructeur ne peut pas être héritée par le. sous-classe.
2. Si le mot-clé extends est omis par défaut lors de la définition d'une classe, la classe définie sera une sous-classe directe de la classe java.lang.Object.
Dans le langage Java, toutes les classes sont des sous-classes directes ou indirectes de la classe Object.
3. Java ne prend en charge que l'héritage unique, c'est-à-dire qu'une classe a au plus une classe parent directe. L'héritage multiple est implémenté via des interfaces en Java.
4. Les variables et méthodes membres privées définies dans la classe parent ne peuvent pas être héritées par la sous-classe, elles ne peuvent donc pas être utilisées directement dans la sous-classe. Nous pouvons définir des méthodes d'accès public et des méthodes de modification dans la classe parent, et les sous-classes peuvent y accéder et les modifier via ces méthodes.
3. Exemples
Classe de personne
package com.baidu.czy; public class Person { //属性 private String name; private int age; //方法 public String getName() { return name; } public int getAge() { return age; } public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public void sayHello(){ System.out.println("My name is " + name); } }
Classe d'employé
package com.baidu.czy; public class Employee extends Person { //属性 private double salary; private String name; //方法 public Employee(){ } public Employee(String name, int age,double salary) { //调用父类的构造方法 super(name, age); this.salary = salary; } public double computeSalary(int hours,double rate){ double salary = hours * rate; return this.salary + salary; } @Override public void sayHello(){ //调用父类中被覆盖的方法 super.sayHello(); System.out.println("Hello,I am " + getName()); System.out.println("I am " + getAge()); System.out.println("My salary is " + salary); } }
Classe de test d'employé
package com.baidu.czy.test; import com.baidu.czy.Employee; public class EmployeeTest { public static void main(String[] args) { Employee emp = new Employee("刘明",30,5000); System.out.println("姓名= " + emp.getName()); System.out.println("年龄= " + emp.getAge()); //调用从父类继承的方法 emp.sayHello(); //调用子类中定义的方法 System.out.println(emp.computeSalary(10,50.0)); } }
Résultat d'exécution :
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.
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!