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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 差不多冬至 中级黑马   /  2015-7-21 21:32  /  698 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如果子类继承父类的成员方法 不重写的话,调用时访问的是子类还是父类的方法

6 个回复

倒序浏览
如果要创建子类的对象,都没重写这个方法,当然不能调用

但如果是多态,调用普通成员方法,如果子类没有会调用父类的

静态成员方法直接调用父类的方法
回复 使用道具 举报
你好我是潘机智 发表于 2015-7-21 21:35
如果要创建子类的对象,都没重写这个方法,当然不能调用

但如果是多态,调用普通成员方法,如果子类没有会 ...

不是多态,刚看到继承。不是说子类继承父类所有非私有的属性及方法吗,比如我创建了一个父类有一个show方法,我用子类继承后,调用这个方法,不是在子类中访问嘛
回复 使用道具 举报
自己试一下不就知道了

  1. class Fu
  2. {
  3.         public void show()
  4.         {
  5.                 System.out.println(123);
  6.         }
  7. }

  8. class Zi extends Fu
  9. {
  10. }

  11. class  Test
  12. {
  13.         public static void main(String[] args)
  14.         {
  15.                 Zi z = new Zi();
  16.                 z.show();

  17.         }
  18. }
复制代码


我刚试的 可以
回复 使用道具 举报
可以的,继承中父类本来就是所有类的共性内容提取出来的,意思就是父类中有的子类一样有,在子类中的方法只是子类特有的而已,只是参数的不同而已
回复 使用道具 举报
没有重写的话,方法名是唯一的,在子类和父类中只存在一个,哪里还有是父类的和子类的
回复 使用道具 举报
都说是继承了,那就是共有的,如果子类中没有重写该方法,那么调用的就是父类的方法,因为这个方法它已经从父类那里继承过来了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马