En tant que connaissance préalable, le contenu du lien ci-dessus est requis.
--ʻInheritance` consiste à définir une classe avec des "extensions et modifications" basées sur la "classe déjà définie".
super classe
".sous-classe
".
--Définissez sous-classe
avec" le nom de la sous-classe étend le nom de la superclasse
".
--Dans sous-classe
, décrivez uniquement la différence
par rapport à la superclasse.
--Java permet uniquement de définir une superclasse
pour une classe en raison des spécifications du langage.sous-classe
en héritant davantage de la sous-classe
.
--Toutes les classes sont java.lang.Object class définies dans Java Standard Class Library (Java API)
. /Object.html) est hérité.constructeur de la super classe
en écrivant super ()
au début du constructeur de la sous-classe.signifie
redéfinir une méthode définie dans une superclasse d'une sous-classe. --ʻOverride
est utilisé lorsque vous souhaitez effectuer un "traitement différent" avec le même nom / argument de méthode que la méthode de la superclasse.Super classe
nom de la super classe{
//Méthode de super classe
Nom de la méthode(){
//En traitement
}
}
Sous-classe
nom de sous-classe de classe étend le nom de superclasse{
//passer outre
@Override
Nom de la méthode(){
//En traitement
}
}
Classe d'essai
package Nom du package;
nom de la classe principale de la classe publique{
public static void main(String[] args) {
//Génération d'instance
Nom de la sous-classe Nom de la variable=nouveau nom de sous-classe();
//Mettre une valeur dans setter
Nom de variable.définir le nom de la variable d'instance(Argument réel);
//Obtenez la valeur saisie par getter
System.out.println(Nom de variable.getインスタンスNom de variable());
}
}
Super classe
package Nom du package;
nom de la super classe{
//Définition des variables d'instance
nom de type privé nom de variable;
//Constructeur (exécuté lors de l'instanciation)
Nom de la super classe(Argument de nom de type){
Processus d'initialisation, etc.
}
// setter
nom de la variable d'instance void set(Nom du type Nom de l'argument){
this.Nom de variable=Nom de l'argument;
}
// getter
Nom du type obtenir le nom de la variable d'instance(){
retourne le nom de la variable;
}
}
Sous-classe
package Nom du package;
nom de sous-classe de classe étend le nom de superclasse{
//Définition des variables d'instance
nom de type privé nom de variable;
//Constructeur (exécuté lors de l'instanciation)
Nom de la sous-classe(Argument de nom de type){
super(argument);
Processus d'initialisation, etc.
}
// setter
nom de la variable d'instance void set(Nom du type Nom de l'argument){
this.Nom de variable=Nom de l'argument;
}
// getter
Nom du type obtenir le nom de la variable d'instance(){
retourne le nom de la variable;
}
}
[Fichier (F)] -> [Nouveau (N)] -> [Projet Java]
.
[Fichier (F)] → [Nouveau (N)] → [Classe]
.
Test1.java
package Test1;
public class Test1 {
public static void main(String[] args) {
//Génération d'instance
TestSuper ts1 = new TestSuper("A");
TestSub ts2 = new TestSub("B","Gyoza");
//Afficher l'instance
ts1.showName();
System.out.println();
ts2.showName();
}
}
TestSuper.java
package Test1;
public class TestSuper {
//Définition des variables d'instance
private String name;
//Constructeur (exécuté lors de l'instanciation)
public TestSuper(String name) {
this.name = name;
}
// setter
public void setName(String name) {
this.name = name;
}
// getter
public String getName() {
return name;
}
public void showName() {
System.out.println("Nom:"+name);
}
}
TestSub.java
package Test1;
public class TestSub extends TestSuper {
//Définition des variables d'instance
private String food;
//Constructeur (exécuté lors de l'instanciation)
public TestSub(String name,String food) {
super(name);
this.food = food;
}
// setter
public void setFood(String food) {
this.food = food;
}
// getter
public String getFood() {
return food;
}
@Override
public void showName() {
super.showName();
showFood();
}
public void showFood() {
System.out.println("Nourriture favorite:"+food);
}
}
S-JIS
comme code de caractère, enregistrez le nom du fichier sous Test1.java
, TestSuper.java
, TestSuper.java
et exécutez-le. .. ↓ ↓
Recommended Posts