Que faire si je cède l'objet à un autre objet de la classe différente?

Ishan Trivedi:

Voici mon code:

class A
{
    int x=2,y=3;
}
class B extends A
{
    //Blank 
}
public class Test
{
    public static void main(String args[])
    {
        A a=new A();
        B b;
        b=a;
        System.out.println(b.x);
        System.out.println(b.y);
    }
}

Quand je suis en train d'exécuter ce code, « types incompatibles: A ne peuvent pas être convertis en B » erreur est affiché.

Et quand je suis en train de type cast « a » dans « B », ClassCastException est survenue.

Est-il possible d'assigner l'objet à un autre objet de différentes classes en Java?

Jeux Mamani:

Sur le plan technique, une variable de « classe de base » peut être attribué « sous classe », mais pas l'inverse. A savoir que vous pouvez avoir "A a = new B ()" mais pas "B b = new A ()".

Il y a aussi une raison intuitive. La classe de base est généralement quelque chose de fondamental, dire « personne », alors que la sous - classe est plus spécifique et promet de fournir plus de propriétés / fonctionnalités de « Maître » (= personne ainsi que des capacités supplémentaires pour enseigner). Vous ne pouvez pas forcer une personne ordinaire à appeler comme par magie elle - même un enseignant, il échouerait la minute où vous essayez d'activer toutes les fonctions d'enseignement ...

Nous pourrions commencer un argument philosophique à propos des occasions où la chose spécifique a moins de capacités que la base (par exemple « IncompetentPerson étend personne ») mais l'héritage java est généralement pas pour objectif de couvrir cela.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=109279&siteId=1
conseillé
Classement