黑马程序员技术交流社区

标题: 练习题 [打印本页]

作者: ZQ822    时间: 2015-4-5 13:40
标题: 练习题
  1. class Super
  2. {
  3.         int i=0;
  4.        
  5.         public Super(string s)
  6.         {
  7.                 i=1:
  8.         }
  9.        
  10. }
  11. class  Demo extends Super
  12. {
  13.         public Demo(string s)
  14.         {
  15.                 i=2;
  16.         }
  17.         public static void main(String[] args)
  18.         {
  19.                 Demo d=new Demo("yes");
  20.                 System.out.println(d.i);
  21.         }
  22. }
复制代码

这个代码错的原因不懂

作者: 君嘘    时间: 2015-4-5 14:12
本帖最后由 君嘘 于 2015-4-5 14:45 编辑
  1. class Super
  2. {
  3.         int i=0;
  4.         Super(String s)
  5.         {
  6.                 i=1;
  7.         }
  8.         
  9. }
  10. class  Demo extends Super
  11. {
  12.         Demo(String s)
  13.         {
  14.                 super(s);
  15.                 i=2;
  16.         }
  17.          public static void main(String[] args)
  18.         {
  19.                 Demo d=new Demo("yes");
  20.                 System.out.println(d.i);
  21.         }

  22. }
复制代码

这样就可以了。
你错误的地方有:
1.构造函数格式错误。应该为 类名(参数)
2.子类中的构造函数第一行默认有个super(),就是把父类中的构造函数继承过来的意思。
你父类中复写了构造函数,那么super()要改为和父类一样的格式:super(s)





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