In java können wir passieren superclass-Objekt-Unterklasse verweisen?

In java, können wir passieren superclass-Objekt-Unterklasse verweisen ?

Ich weiß, es ist eine komische Frage/praktisch nicht lebensfähig,
aber ich will die Logik verstehen, die hinter dieser
Warum ist es nicht erlaubt in java.

class Employee {
    public void met1(){
        System.out.println("met1");
    }
}


class SalesPerson extends Employee 
{
    @Override
    public void met1(){
    System.out.println("new met1");
    }


    public void met2(){
        System.out.println("met2");
    }

}

public class ReferenceTest {
    public static void main(String[] args) {

        SalesPerson sales = new Employee(); //line 1

        sales.met1();  //line 2

        sales.met2();  //line 3
    }
}

Was passiert wäre, wenn Java erlaubt Zusammenstellung von Zeile 1?
Wo würde das problem entstehen?

Alle Eingänge/link begrüßt werden.

  • Es würde keinen Sinn machen. Wenn es erlaubt würde, könnten Sie Felder/Methoden, die Sie erwarten würden, um dort zu sein, die nicht wirklich da sind. Wenn Sie durften, ich denke, die Sprache Designer könnte gesperrt worden sein, irgendwo, wo Sie konnte nicht mehr tun Schaden.
  • was erwartest du, was passieren würde?
InformationsquelleAutor Rajul Konkar | 2014-06-24
Schreibe einen Kommentar