A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlpiano 中级黑马   /  2015-7-2 18:04  /  1447 人查看  /  23 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

子类对象能否调用父类中被重写的方法

23 个回复

正序浏览
fantianfei 发表于 2015-7-5 09:08
我感觉应该也是可以的,以后会接触到多层继承吧。

多层继承只出现在接口对接口的继承中。
回复 使用道具 举报
其实只是想说没看懂你问的是什么意思,如果你是想问子类是否能调用父类中的方法,那肯定是必然的,super一下就OK了。
回复 使用道具 举报
分享快乐,赞一个
回复 使用道具 举报
子类可以调用父类中被重写的方法,但是这是编译的时候父类有这个方法没有报错,如果没有直接编译就不通过,但是运行的时候还是看子类,因为子类重写了父类,会运行子类的
回复 使用道具 举报
子类的方法复写了父类的方法,可以直接调用父类的方法。。。
回复 使用道具 举报
可以的。如果想使用父类中的只需要用super.方法名调用即可
回复 使用道具 举报
父类的方法可以被子类重写,子类调的是它自己重写的,或者直接调父类本来的那个,但它也是继承下来的
回复 使用道具 举报
子类的方法已经覆盖了父类的方法了,怎么还能调用父类的呢,其实这个问题自己写两个类测试一下就很明白了
回复 使用道具 举报
可以继承
回复 使用道具 举报
可以使用 super.父类方法
回复 使用道具 举报
如果已经是一个子类对象了。  它就不可能调用你类的方法了。 子类的方法已经覆盖了父类的方法。
回复 使用道具 举报 1 0
wgy 中级黑马 2015-7-5 10:01:58
13#
   子类对象能否调用父类中被重写的方法?
   这个是可以的,要想使用父类中被重写的方法,格式:super.被子类重写的方法。举个简单的例子如下:
测试类:  public class DemoTest {        public static void main(String[] args) {
                DemoZi dz = new DemoZi();
                dz.show();
        }
}

子类:
public class DemoZi extends DemoFu {
        public void show(){
                super.show();//调用父类中被子类重写的方法
                System.out.println("show zi");
        }
}
父类:
public class DemoFu {
        public void show(){
                System.out.println("show fu");
        }
        public void show2(){
                System.out.println("show2 fu");
        }
}

打印结果:
       show fu
       show zi
   从上面的例子可以看出,子类是可以调用父类中被重写的方法的。希望对你有用。
回复 使用道具 举报
一个人分别照平面镜和哈哈镜,显示的人样不同但是人本身没变。A和B继承与C,B重写了C也只是在B自己的类中改变了。并不能改变父类C本身
回复 使用道具 举报
可以的 super关键字
回复 使用道具 举报
我感觉应该也是可以的,以后会接触到多层继承吧。
回复 使用道具 举报
不能,就像父类中的private保护内容一样,被重写的方法,已经看不见了。
回复 使用道具 举报
只有继承了或者实现某个接口才有复写
回复 使用道具 举报
本帖最后由 zlpiano 于 2015-7-5 00:02 编辑

可以调用么?受教了。不过好像只能在子类内部调用。
回复 使用道具 举报
可以的,使用     super.父类方法     就可以调用,要注意的是要放在子类代码第一行,还有就是不能和this()同时出现
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马