在java中,我们可以将超类对象传递给子类引用吗?
在java中,我们可以将超类对象传递给子类引用吗?
我知道这是一个奇怪的问题/实际上不可行,但我想了解为什么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
}
}
如果 Java 允许编译第 1 行,会发生什么情况?问题出在哪里?
欢迎任何输入/链接。