继承问题,问个简单问题 Father类是父类,Son类是子类那个... Father person = new Son(); Son person = new Son();这两句有什么差别么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 当然有区别了,前一个声明为 父类 类型,后一个为子类类型。在调用方法的时候会有区别。声明为父类类型,如果子类重写父类非静态方法,那么调用的时候会调用子类中重写的方法; 如果是静态方法,或者没有重写的,那么调用的是父类中的方法; 但是如果不强制类型转换的话,不能直接调用子类中特有的方法;声明为子类类型,调用的是子类中的方法 和 父类中没有被重写的非private的方法; 但是如果不强制类型转换成父类类型的话,没有办法调用被重写的父类中的静态方法 简单点,这就是多态所有Father适用的地方,Son都能适用Father person = new Son(); //Father型的Son()实例对象,Son中扩展方法不能被调用,Son中重写Father的方法,以Son中的为准Son person = new Son();//正常 ExtJs-两个RowExpander嵌套出现的问题 线程问题--五子棋游戏中的线程 关于Java中short类型的问题 十万火急!在线等待 在JAVA的IDE中是如何实现既时语法查错的啊?(100分) jsp运行问题? 为什么要在子类的构造器掉用super? java与opengl 怎样实现把逻辑树结构保存到集合中? XML格式化问题 如何用UML描述 部门,职位,员工 三者之间的关系 JAVA 串口接收数据时如何能得到接收字符串的个数
如果是静态方法,或者没有重写的,那么调用的是父类中的方法;
但是如果不强制类型转换的话,不能直接调用子类中特有的方法;声明为子类类型,调用的是子类中的方法 和 父类中没有被重写的非private的方法;
但是如果不强制类型转换成父类类型的话,没有办法调用被重写的父类中的静态方法
所有Father适用的地方,Son都能适用
Father person = new Son(); //Father型的Son()实例对象,Son中扩展方法不能被调用,Son中重写Father的方法,以Son中的为准
Son person = new Son();//正常