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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马上都有 中级黑马   /  2014-5-20 20:12  /  1003 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 SyouRai_Tsk 于 2014-5-20 20:22 编辑
  1. public class PolyTest
  2. {
  3.         public static void main(String[] args)
  4.         {               
  5.                 Child child = new Child();  疑问2 new出来一个  不就已经调用了类得构造方法  为什么 还要调用child.sing()
  6.                 child.sing();  没有此行什么也不打印  为什么,额??
  7.         }
  8. }

  9. class Parent
  10. {
  11.         public void sing()
  12.         {
  13.                 System.out.println("parent is singing");
  14.         }
  15. }

  16. class Child extends Parent
  17. {
  18.         public void sing()
  19.         {
  20.                 System.out.println("child is singing");
  21.         }
  22. }
复制代码
运行结果是:child is singing     运行结果为什么不是parent is singing  child is singing

点评

认真看视频.里面讲的很详细 Ps:重写父类方法  发表于 2014-5-20 20:22

4 个回复

倒序浏览
用虚方法重写父类的方法
回复 使用道具 举报
Child child = new Child();只是创建了一个名为child的对象,child.sing()才是调用Child类。child.sing();调用了Child类,Child类继承了父类父类中的sing(),被子类重写。如果你要输出parent is singing  child is singing,主函数中应该写Parent P=new Parent();
  P.sing();
回复 使用道具 举报
复写了父类方法  把父类的方法覆盖了 不是综合了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马