En tant que connaissance préalable, le contenu du lien ci-dessus est requis.
--Il y a ʻupcast et downcastdansreference type conversion. --ʻUpcast traite une instance d'une sous-classe comme un "objet de type superclasse".
--Downcast traite une instance d'une superclasse comme un objet de type sous-classe.
--Downcast est effectué à l'aide de l'opérateur de conversion "()".
Upcast
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 1=nouveau nom de sous-classe();
//Upcast
Nom de la super classe Nom de la variable 2=Nom de variable 1;
}
}
Abattu
nom de la classe principale de la classe publique{
public static void main(String[] args) {
//Génération d'instance
Nom de la super classe Nom de la variable 1=nouveau nom de sous-classe();
//Upcast
Nom de sous-classe Nom de variable 2= (Nom de la sous-classe)Nom de variable 1;
}
}

[Fichier (F)] -> [Nouveau (N)] -> [Projet Java].




Entrez «Test1» dans le package et «Hello» dans le nom dans la même procédure qu'en 6.3, et cliquez sur le bouton «Terminer».
Entrez «Test1» dans le paquet, «GoodMorning» dans le nom et «Hello» dans la superclasse dans la même procédure qu'en 8.3, et cliquez sur le bouton «Terminé».
Entrez «Test1» dans le paquet, «GoodEvening» dans le nom et «GoodMorning» dans la superclasse de la même manière qu'en 9.3, et cliquez sur le bouton «Terminer».

Test1.java, Hello.java, GoodMorning.java, GoodEvening.java sont créés.La conversion de type de type de référence est utilisée pour" appel de méthode "et" plage de définition de méthode "que possède la" superclasse "ou la" sous-classe ".Test1.java
package Test1;
public class Test1 {
public static void main(String[] args) {
//Génération d'instance
GoodEvening ge1 = new GoodEvening("A");
ge1.showGoodMorning();
//Upcast
Hello hello = ge1;
hello.showHello();
//Abattu
GoodEvening ge2 = (GoodEvening) hello;
ge2.showGoodEvening();
//((GoodEvening) hello).showGoodEvening();
}
}
Hello.java
package Test1;
public class Hello{
//Définition variable
String name;
//constructeur
public Hello(String name) {
this.name = name;
}
//Affichage des salutations
void showHello() {
System.out.println(name + "Hey,.");
}
}
GoodMorning.java
package Test1;
public class GoodMorning extends Hello {
//constructeur
public GoodMorning(String name) {
super(name);
}
//Affichage des salutations
void showGoodMorning() {
System.out.println(name + "Bonjour Monsieur.");
}
}
GoodEvening.java
package Test1;
public class GoodEvening extends GoodMorning {
//constructeur
public GoodEvening(String name) {
super(name);
}
//Affichage des salutations
void showGoodEvening() {
System.out.println(name + "Bonsoir M.");
}
}
Copiez la phrase ci-dessus, spécifiez «S-JIS» comme code de caractère, enregistrez le nom du fichier sous «Test1.java», «Hello.java», «GoodMorning.java», «GoodEvening.java» et enregistrez-le. Une fois exécuté, ce sera comme ça. ↓ ↓

Test1.java
package Test1;
public class Test1 {
public static void main(String[] args) {
//Génération d'instance
TestB b = new TestB();
b.view();//B s'affiche
//Upcast
TestA a = (TestA) b;
a.view();//B s'affiche
}
}
class TestA {
public void view() {
//Affichage super classe
System.out.println("A");
}
}
class TestB extends TestA{
public void view() {
//Affichage des sous-classes
System.out.println("B");
}
}
Copiez l'instruction ci-dessus, spécifiez «S-JIS» comme code de caractère, enregistrez le nom de fichier sous «Test1.java» et exécutez-le. ↓ ↓

Recommended Posts