Object oj = new SubClass(); (SubClass)oj.subMethod(); //转换后调用方法 SuperClass sc = SubClass(); sc.subMethod(); //直接调用方法 不知道你是不是这个意思。如果是。那么。。。 你觉得Object对象会有子类SubClass的subMethod方法吗?如果没有,那么它怎么调用,这个是编译期错误 而在SuperClass与SubClass之间,肯定有重写SubMethod方法,所以SuperClass是有这个方法的,那么父类SuperClass就可以调用,但是它最终调用的,还是子类重写的SubMethod方法,为什么?因为运行期时,会定位到实际类型,然后动态连接到实际类型的方法
62,620
社区成员
307,251
社区内容
加载中
试试用AI创作助手写篇文章吧