En tant que connaissance préalable, le contenu du lien ci-dessus est requis.
--Il y a ʻupcast et
downcastdans
reference 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]
.
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