因为我们虽然创建的是子类对象,但实际上我们想要的是父类。正如基本数据类型那样:
int i = 1;
long l = i ;
//在第二条语句中,i的值1已经被转化为long。因为我们想要的是long
只不过父类的方法需要根据不同的情况来产生变化,所以调用的是子类的重写方法,不需要子类独有的方法。
反问:如果不需要根据情况变化,那么直接创建父类对象不就好了?
如果既需要子类特有方法,又需要重写方法;或者只需要子类特有方法,那么为什么不直接创建子类对象呢?
个人愚见,欢迎讨论
因为我们虽然创建的是子类对象,但实际上我们想要的是父类。正如基本数据类型那样:
int i = 1;
long l = i ;
//在第二条语句中,i的值1已经被转化为long。因为我们想要的是long
只不过父类的方法需要根据不同的情况来产生变化,所以调用的是子类的重写方法,不需要子类独有的方法。
反问:如果不需要根据情况变化,那么直接创建父类对象不就好了?
如果既需要子类特有方法,又需要重写方法;或者只需要子类特有方法,那么为什么不直接创建子类对象呢?
个人愚见,欢迎讨论