Java基础 javaobject对象类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 亲,那是因为子类是重写了父类的方法,虽然实际上运行时调用的还是子类的方法,但是在编译的时候,编译器认为调用的还是父类的方法。所以编译器不会报错。而你说的Object,那是因为Object类里面没有子类的方法,所以直接调用子类方法编译器会报错,需要强制类型转换。 子类继承父类、子类调用父类的方法实际上是子类通过子类构造器调用父类的方法,每个类都会有一个无参的构造器,构造器中的super()方法调用父类。 Object oj = new SubClass();(SubClass)oj.subMethod(); //转换后调用方法SuperClass sc = SubClass();sc.subMethod(); //直接调用方法不知道你是不是这个意思。如果是。那么你觉得Object对象会有子类SubClass的subMethod方法吗?如果没有,那么它怎么调用,这个是编译期错误而在SuperClass与SubClass之间,肯定有重写SubMethod方法,所以SuperClass是有这个方法的,那么父类SuperClass就可以调用,但是它最终调用的,还是子类重写的SubMethod方法,为什么?因为运行期时,会定位到实际类型,然后动态连接到实际类型的方法 用递归打印出数组 两Jsp页面之间如何传递数据 JSP动态网页生成静态网页,在线等,急!!! 有研究过MM7协议的吗?请教个问题 谁能解释下这个结果 jar可以打包图片吗? JavaBeans 是什么? 几个简单问题 java enter登录键盘事件 JAVA多线程锁问题 循环小谜题,关于j++的问题 如何解决类似1-0.2=0.80000001,而不是0.8
而你说的Object,那是因为Object类里面没有子类的方法,所以直接调用子类方法编译器会报错,需要强制类型转换。
(SubClass)oj.subMethod(); //转换后调用方法SuperClass sc = SubClass();
sc.subMethod(); //直接调用方法不知道你是不是这个意思。如果是。那么
你觉得Object对象会有子类SubClass的subMethod方法吗?如果没有,那么它怎么调用,这个是编译期错误而在SuperClass与SubClass之间,肯定有重写SubMethod方法,所以SuperClass是有这个方法的,那么父类SuperClass就可以调用,但是它最终调用的,还是子类重写的SubMethod方法,为什么?因为运行期时,会定位到实际类型,然后动态连接到实际类型的方法