[Explication facile à comprendre! ] Conversion de type de type de référence en Java

1. Connaissances préalables

En tant que connaissance préalable, le contenu du lien ci-dessus est requis.

2. Qu'est-ce que la conversion de type de référence?

--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 "()".

3. Écriture de base

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;
    }
}

4. Préparation

01.png

  1. Démarrez Eclipse et sélectionnez [Fichier (F)] -> [Nouveau (N)] -> [Projet Java]. 02.png
  2. Entrez «Test1» pour le nom du projet et cliquez sur le bouton «Terminé». 03.png
  3. Sélectionnez «[Fichier (F)] → [Nouveau (N)] → [Classe]». 05.png
  4. Entrez «Test1» pour le package et le nom et cliquez sur le bouton «Terminé». 06.png
  5. Confirmez que «Test1.java» a été créé. 001.png 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». 002.png 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é». 003.png 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». 004.png
  6. Succès si Test1.java, Hello.java, GoodMorning.java, GoodEvening.java sont créés.

5. Exemple de description

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. ↓ ↓ 005.png

point important

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. ↓ ↓ 006.png

6. Connexes

Recommended Posts

[Explication facile à comprendre! ] Conversion de type de type de référence en Java
Détermination de type en Java
[Java] Conversion de type de date
[Java] Conversion de type de liste / type de tableau
Essayez le type fonctionnel en Java! ①
[Java] Comparaison de la vitesse de conversion de type
Java Primer Series (conversion de type)
A propos du renvoi d'une référence dans un Java Getter
Conversion de type de données de date Java (date, calendrier, chaîne)
Concernant la comparaison d'équivalence de type de chaîne en Java
Référence Java à comprendre dans la figure
[Java ~ A propos de la définition de variable et de la conversion de type ~] Note d'étude
Etude Java n ° 3 (conversion de type et exécution d'instruction)
Comment faire une conversion de base en Java
[Explication facile à comprendre! ] Comment utiliser l'instance Java
[Explication facile à comprendre! ] Comment utiliser le polymorphisme Java
[Connaissance de base de Java] À propos de la conversion de type
Fonction de conversion d'objet de liste immuable (immuable) dans Java8
[Explication facile à comprendre! ] Comment utiliser ArrayList [Java]
Conversion de type Java 8 LocalDateTime (String, java.util.Date)
[Java] Mécanisme de calcul, opérateurs et conversion de type
Conversion de type du type java Big Decimal au type String
[Explication facile à comprendre! ] Comment utiliser la surcharge Java
[Explication facile à comprendre! ] Comment utiliser l'encapsulation Java
[Java] Différence entre equals et == dans une chaîne de caractères qui est un type de référence
[Introduction à Java] À propos de la conversion de type (distribution, promotion)
Partition en Java
Le type d'intersection introduit dans Java 10 est incroyable (?)
[Java] Type d'énumération
Java Type facultatif
Changements dans Java 11
Référence de la méthode Java8
À propos de var utilisé en Java (type de variable locale)
Janken à Java
Java double type
[Explication facile à comprendre! ] Comment utiliser l'héritage Java [Explication de remplacement]
Mémo organisé dans la tête (Java - type de données)
Conversion de type Java (chaîne, entier, date, calendrier, etc.)
référence de la méthode java8
Taux circonférentiel à Java
Matériaux de référence JAVA
Ma référence Java
FizzBuzz en Java
Revue Java ③ (utilisation de base des tableaux / type de référence)
[Java] Précautions lors du référencement dans une classe parent et de l'instanciation dans une classe enfant
J'ai écrit sur Java downcast d'une manière facile à comprendre
A propos du type de données de base Java et de la mémoire du type de référence
[Java] Points à noter sur l'inférence de type étendue dans Java 10
À propos de la conversion pleine largeur ⇔ demi-largeur des chaînes de caractères en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Application Janken en Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java