黑马程序员技术交流社区

标题: 关于继承方法调用问题 [打印本页]

作者: 差不多冬至    时间: 2015-7-21 21:32
标题: 关于继承方法调用问题
如果子类继承父类的成员方法 不重写的话,调用时访问的是子类还是父类的方法
作者: 你好我是潘机智    时间: 2015-7-21 21:35
如果要创建子类的对象,都没重写这个方法,当然不能调用

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

静态成员方法直接调用父类的方法
作者: 差不多冬至    时间: 2015-7-21 21:56
你好我是潘机智 发表于 2015-7-21 21:35
如果要创建子类的对象,都没重写这个方法,当然不能调用

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

不是多态,刚看到继承。不是说子类继承父类所有非私有的属性及方法吗,比如我创建了一个父类有一个show方法,我用子类继承后,调用这个方法,不是在子类中访问嘛
作者: 你好我是潘机智    时间: 2015-7-21 22:01
自己试一下不就知道了

  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. }
复制代码


我刚试的 可以
作者: 辉大大    时间: 2015-7-21 23:26
可以的,继承中父类本来就是所有类的共性内容提取出来的,意思就是父类中有的子类一样有,在子类中的方法只是子类特有的而已,只是参数的不同而已
作者: palysh    时间: 2015-7-21 23:56
没有重写的话,方法名是唯一的,在子类和父类中只存在一个,哪里还有是父类的和子类的
作者: xclyijin    时间: 2015-7-22 00:22
都说是继承了,那就是共有的,如果子类中没有重写该方法,那么调用的就是父类的方法,因为这个方法它已经从父类那里继承过来了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2